w10ij=[.01 .01 .02; .1 .11 .02; .01 0 .1; .11 .01 .02;.1 .1 .02; .11 .1 .1;.1 .1 .1;0 .1 .1;.1 0 .1];
w11ij=[.1 .2 .11; .02 .13 .04; .09 .08 .08; .09 .1 .06; .1 .11 .02; .06 0 .1;.1 .1 .1;0 .1 0;.1 .1 .1];
w20j=[.01;.02;.1;.2;.1;.1;.1;.1;.1];
w21j=[0; 0.1; .1; .02;0;.1;.1;.1;.1];
q0j=[.9 .8 .7 .6 .1 .2 .1 .1 .1];
q120j=q0j;
q11j=[.5 .2 .3 .4 .1 .2 .1 .1 .1];
q12j=q11j;
w121ij=w20j*q0j;
w120ij=w20j*q11j;
f1=5;
q2j=0; % threshold value
p0=.2;
k1=1;
p1=.3;
w=0;
xj=[1 1 1]; % inputs
error=0.0001;
a1=[1 1 1 1];
n=1;
e1=0;
e0=0;
e2=0;
e3=0;
e4=0;
yo=0;
ya=0;
yb=0;
y0=0;
y1=0;
y2=0;
y3=0;
u=0;
u1=0;
u2=0.68;
u3=.780;
u4=u3-u2;
k1=1;
kn=28;
e3=.055; z1=0;
z12=0; q123j=0; t2j=0; o12j=0;r=0;r1=0; s=0.1;d2j=0;
%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
% calculating output of the hidden layer
v1=randn(40,1);
for m=1:40
s1=0.1*v1(m)
yn=.3366*y2+.6634*u1+s*s1;
y1=y2;
y2=yn;
yp=yn;
u0=u1;
u1=u2;
ya(m)=yn;
for k=1:100
% calculating output of the hidden layer(1)
for i=1:9
x1=[w11ij(i,1)*xj(:,1)]+[w11ij(i,2)*xj(:,2)]+[w11ij(i,3)*xj(:,3)];
x=x1+q11j(:,i);
o=1/[1+exp(-x)];
o11j(i)=o;
end
% calculating output of the hidden layer(2)
for i=1:9
for j=1:9
z1=z1+w121ij(i,j)*o11j(:,j);
end
z=z1+q12j(:,i);
o=1/[1+exp(-x)];
o12j(i)=o;
end
% calculating output of the output layer
for i=1:9
yb=yb+w21j(i,:)*o12j(:,i);
end
yi=yb+p1;
y=1/[1+exp(-yi)];
% calculating error value between aim and practice value
e0=e1;
e1=e2;
e2=[(yp-y).^2]/2;
e(k)=e2;
xj1=e2;
xj2=e1;
xj3=e0;
xj=[xj1 xj2 xj3];
% revising right value (1)
for i=1:9
d1=o11j(:,i)*[1-o11j(:,i)]*d2j*w21j(i,:);%计算第1隐层误差反传信号
do=o11j(:,i)*d1;
qw=q11j(:,i)-q0j(:,i);
q2j=q11j(:,i)+.8*do+.4*qw;
q3j(:,i)=q2j;
for j=1:3
dw=w11ij(i,j)-w10ij(i,j);
w12ij=w11ij(i,j)+.8*do*xj(j)+.6*dw;
w13ij(i,j)=w12ij;
end
end
w10ij=w11ij;
w11ij=w13ij;
q0j=q11j;
q11j=q3j;
% revising right value (2)
for i=1:9
d1=o12j(:,i)*[1-o12j(:,i)]*d2j*w21j(i,:);%计算第2隐层误差反传信号
do=o12j(:,i)*d1;
qw=q12j(:,i)-q120j(:,i);
t2j=q12j(:,i)+.8*do+.4*qw;
q123j(:,i)=t2j;
for j=1:9
dw=w121ij(i,j)-w120ij(i,j);
w122ij=w121ij(i,j)+.8*do*o11j(j)+.6*dw;
w123ij(i,j)=w122ij;
end
end
w120ij=w121ij;
w121ij=w123ij;
q120j=q12j;
q12j=q123j;
% revising right value (3)
if m<4, r=0.2; r1=0.0001 ;
else
r=0.14; r1=0.005;
end
for i=1:9
d2j=y*(1-y)*(yp-y); %计算输出误差反传信号
dw=w21j(i,:)-w20j(i,:);
w22j=w21j(i,:)+r*d2j*o12j(i)+.4*dw+r1*e2;
w23j(i,:)=w22j;
end
w20j=w21j;
w21j=w23j;
ph=p1-p0;
p2=p1+.96*(yp-y)+.58*ph+r1*e2;
p0=p1;
p1=p2;
u=y;
% k=k+1;
if e2<=.005 break;
else
end
end
ya(m)=yp*f1;
e3(m)=e2;
ym(m)=y*f1;
v(m)=s1;
% m=m+1
m6=m
end
w11ij=w13ij
w121ij=w123ij
w21j=w23j
m1=m;
% grapher
subplot(3,1,1)
m=1:m6;
plot(m,ya,m,ym,'rx'), title('Identified model by MBP algorithm'),xlabel('k'),ylabel('ya and ym')
legend('ya is system','ym is identified model'); %图标炷
subplot(3,1,2)
m=1:m6;
plot(m,e3),xlabel('k'),ylabel('error')
subplot(3,1,3)
m=1:m6;
plot(m,v),xlabel('k'),ylabel('random noise')
ann.rar_ANN噪声_Neural network power
版权申诉
55 浏览量
2022-09-22
19:08:47
上传
评论
收藏 1KB RAR 举报
![avatar](https://profile-avatar.csdnimg.cn/36163497263541e6b6d5b627b1692a97_weixin_42653691.jpg!1)
朱moyimi
- 粉丝: 65
- 资源: 1万+
最新资源
- 基于LUT查找表方法的正弦信号产生器FPGA实现,包含testbench,包括程序,注释,操作步骤
- Screenshot_20240618_174113.jpg
- matlab画正余弦函数图的代码!!!!!
- 2_期末网店运营报告模版.pdf
- MyBatisCodeHelperPro 3.3.2-2322 2023.2-2024.1
- 基于Python的简单的学生成绩管理程序设计(课程设计)
- jdk-8u20-windows-x64安装版本-jdk-8u301-linux-x64解压版
- 植物大战僵尸杂交版 修改阳光和冷却
- html css js网页设计ntion-model-for-开发笔记
- 数据库课程设计-processing开发笔记
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)