📄 flch4eg3.m
字号:
clear
p=rand(2,1);
wij0=rand(6,2);wij1=rand(6,2);
wjk0=rand(1,6);wjk1=rand(1,6);E=0.005;a=0.8;b=0.9;z=0.3;g=0.9;
N=1;x=-1.25;y=-1.25;e=3.141592;
for m=1:3000
yd=0.8*(x^2/a^2-y^2/b^2);yn(N)=yd;
x=x+0.001;y=y+0.001;
for t=1:10
oi=p;
netj=wij0*p;
for l=1:6
oj(l,1)=1/(1+e^(-netj(l,1)));
end
netk=wjk0*oj;
ok=1/(1+e^(-netk));ko(N)=ok;
sk=ok*(1-ok)*(yd-ok);
sj=oj'*(1-oj)*sk*wjk0;
wij2=wij1+g*sj'*oi'+z*[wij1-wij0];
wij0=wij1;wij1=wij2;
wjk2=wjk1+g*sk*oj'+z*[wjk1-wjk0];
wjk0=wjk1;wjk1=wjk2;
c=0.5*(yd-ok)^2;q(N)=c;
while c<E break
end
end
N=N+1;
end
m=0.1:0.1:5;
n=0.1:0.1:5;
[m,n]=meshgrid(m,n); N=1;
for k=1:50
for d=1:50
yy(k,d)=yn(N);
oo(k,d)=ko(N);
ee(k,d)=q(N);
N=N+1;
end
end
wij0,wij2,wjk0,wjk2
subplot(2,2,1);
surf(m,n,yy);
xlabel('m');
ylabel('n');
zlabel('yy');
title('期望值');
subplot(2,2,2);
surf(m,n,oo);
xlabel('m');
ylabel('n');
zlabel('oo');
title('训练值');
subplot(2,1,2);
surf(m,n,ee);
xlabel('m');
ylabel('n');
zlabel('ee');
title('误差');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -