listing program bab 4
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% MATLAB FILE
%
%
%
%
%
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
f1=fopen('ESTIMATEBP1.dat','w');
fprintf (f1,'\nTHE
FOLLOWING IS THE WEIGHT CHANGE AND THE MEAN SQUARE ERROR');
fprintf (f1, '\n------------------------------------------------------------\n\n');
w1 = rand(5,1)/5;
w2 = rand(1)/5; bias = 4.0;
delw2=0;
mu=0.001;
delw1=0; momentum=0.5;
n=5; ITERATION=2000;
Xpad=zeros(ITERATION+n,1);
Xpad(n+1:n+ITERATION)=X;
Xest=zeros(ITERATION+n,1);
error=zeros (size (X));
MSE=zeros (200,1);
count=1;
for loop=1:400;
totalerr=0;
for i=n+1:n+ITERATION
xt=Xpad(i-n:i+1);
dt=Xpad(i);
z1=w1'*xt+w2*bias;
error(1)=dt-z1;
phi_0=(dt-z1)*xt;
delw1=mu*phi_0+momentum*delw1;
delw2=mu*(dt-z1)*bias+momentum*delw2;
w1=w1+delw1;
w2=w2+delw2;
if round(i/500)*500==i
fprintf(f1,'\n\t%6.3f\t%6.3f\t%6.3f\t%6.3f\t%6.3f',fliplr(w1'));
if mu>0.000001;
mu=mu/1.01;
end
end
end
if round(loop/1)*1==loop
MSE(loop)=(error'*error)/ITERATION;
fprintf(f1,'\n\t%6.3f\t%6.3f\t%6.3f\t%6.3f\t%6.3f',fliplr(w1'));
fprintf(f1,'\n %d\t
MEANSQUARE ERROR=%6.4f\n\n',loop,MSE(loop));
disp([loop fliplr(w1')])
momentum=momentum/1.00001;
if MSE<0.019
loop = 1000
end
end
end
fclose(f1);
Komentar
Posting Komentar