Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- % Σε Octave για κάποιον λόγο το διάγραμμα κάνει θέλει πολύ περισσότερο χρόνο για να εμφανιστεί (την 1η φορά)
- |||||||||||||||||||||||////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\|||||||||||||||||||||||
- main.m
- x = [0 0 1 1 ; 0 1 0 1]
- w0 = -1
- w = [2 ; 1]
- u = w'*x+w0
- %f = logsig(u) %Για Octave αυτή η γραμμή να είναι σχόλιο
- f = 1 ./ (1 + exp(-u)) %Για Octave αυτή η γραμμή να μην είναι σχόλιο
- [z] = sxediasi(x,w,w0)
- b=1; %Ρυθμός μάθησης
- counter=0;
- while (u(1,1)>=0 || u(1,2)>=0 || u(1,3)>=0 || u(1,4)<=0)
- [w,w0]=kyklos(u,w,w0,x,b)
- %kyklos()
- u=w'*x+w0
- counter=counter+1;
- [z] = sxediasi2(x,w,w0)
- end
- [z] = sxediasi1(x,w,w0)
- %for i=1:3
- %if u(1,1)
- %Wafter=Wbef-b*x
- %if u(1,1)<=0
- % Wafter=Wbef+b*x
- |||||||||||||||||||||||////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\|||||||||||||||||||||||
- kyklos.m
- function [w,w0]=kyklos(u,w,w0,x,b) %Κύκλος εκπαίδευσης
- for i=1:3
- if (u(1,i)>=0)
- w(1)=w(1)-b*x(1,i)
- w(2)=w(2)-b*x(2,i)
- % w(3)=w(3)-b*x(3,i)
- w0=w0-b
- end
- end
- i=4;
- if (u(1,4)<=0)
- w0=w0+b
- w(1)=w(1)+b*x(1,i)
- w(2)=w(2)+b*x(2,i)
- % w(3)=w(3)+b*x(3,i)
- end
- %for i=1:4
- % u= w'*x+w0
- %end
- |||||||||||||||||||||||////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\|||||||||||||||||||||||
- sxediasi.m
- function [z] = sxediasi(x,w,w0)
- for k=-1:3
- c=k+2;
- u(c) = - (w(1,1)/w(2,1))*k - w0/w(2,1);
- x1(c)=k;
- end
- plot(x1,u,'b')
- axis([-2 2 -2 2])
- hold on
- plot(x(1,:),x(2,:),'*')
- |||||||||||||||||||||||////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\|||||||||||||||||||||||
- sxediasi1.m
- function [z] = sxediasi(x,w,w0)
- for k=-1:3
- c=k+2;
- u(c) = - (w(1,1)/w(2,1))*k - w0/w(2,1);
- x1(c)=k;
- end
- plot(x1,u,'r')
- axis([-2 2 -2 2])
- hold on
- plot(x(1,:),x(2,:),'*')
- |||||||||||||||||||||||////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\|||||||||||||||||||||||
- sxediasi2.m
- function [z] = sxediasi(x,w,w0)
- for k=-1:3
- c=k+2;
- u(c) = - (w(1,1)/w(2,1))*k - w0/w(2,1);
- x1(c)=k;
- end
- plot(x1,u,'g')
- axis([-2 2 -2 2])
- hold on
- plot(x(1,:),x(2,:),'*')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement