Anda di halaman 1dari 2

function perubahan(a,e)

a=input('Tentukann nilai Positif terkecil (a)= ');


e=input('Tentukan Toleransi Errornya = ');
disp('input dan target sbb:');
disp('nilai awal w=0 dan b=0');
epoch=1;
awal=1;
pola=[1 1 1 1;1 -1 1 -1;-1 1 1 -1;-1 -1 1 -1]
%lakukan perhitungan selama dw>e
dw=1;dw1=0;dw2=0;db=0;
while dw > e
%untuk inisialisasi
if epoch==1
pola(1,5)=0;
pola(1,6)=0;
pola(1,7)=pola(1,4)-pola(1,6);
pola(1,8)=a*pola(1,7)*pola(1,1);
pola(1,9)=a*pola(1,7)*pola(1,2);
pola(1,10)=a*pola(1,4);
pola(1,11)=pola(1,8);pola(1,12)=pola(1,9);pola(1,13)=pola(1,10);
awal=2;
else
awal=1;
end % end dari cek epoch
%perubahan Bobot
for b=awal:4
% baris 2-4
disp(['epoch ke-',num2str(epoch)]);
for k=5:13 % kolom 4-13
if k==5 % menghitung Net / y
net=0;
for i=1:2
% net=net + (pola(b,i) * pola(b-1,10+i)); % w*x
net=net + (pola(b,i) * pola(b-1,10+i));
end
pola(b,k)=net + pola(b-1,13); % Net= S(w*x) + b
elseif k==6
pola(b,k)=pola(b,5); % Y= net
elseif k==7
TminY=0;
TminY=pola(b,4)-pola(b,6);
pola(b,k)=TminY; % t-y
elseif k==8
pola(b,k)=a*pola(b,7)*pola(b,1); %dW1
elseif k==9
pola(b,k)=a*pola(b,7)*pola(b,2); % dW2
elseif k==10
pola(b,k)=a*pola(b,7); %dB
elseif k==11
pola(b,k)=pola(b-1,11) + pola(b,8); % dW1 baru
dw1=pola(b,k);
elseif k==12
pola(b,k)=pola(b-1,12) + pola(b,9); % dW2 baru
dw2=pola(b,k);
elseif k==13
pola(b,k)=pola(b-1,13) + pola(b,10); % dB baru
db=pola(b,k);
end % end dari percabangan pengecekan kolom
end % end dari perulangan kolom/k
end % end dari perulangan baris/b
pola % tampilkan hasil epoch

epoch=epoch+1;
if
end % end dari while
% periksa apakah toleransi error < dW
% if e > pola(b,k)
%
epoch=epoch+1;
%
return
% end

Anda mungkin juga menyukai