模糊神经网络噪声解耦MATLAB程序Word格式文档下载.docx
- 文档编号:22115463
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:25
- 大小:28.69KB
模糊神经网络噪声解耦MATLAB程序Word格式文档下载.docx
《模糊神经网络噪声解耦MATLAB程序Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《模糊神经网络噪声解耦MATLAB程序Word格式文档下载.docx(25页珍藏版)》请在冰豆网上搜索。
u1=0;
e0=0;
e1=0;
sp=10;
k=1;
se=0.02;
sd=0.02;
su=0.0522;
%开始
kp=0.284;
ki=0.03;
kd=0.626;
%thesecondchannelreference
p12=0.5;
p22=0.5;
q22=0.5;
p32=0.5;
q32=0.5;
p42=0.95;
q42=0.5;
p52=0.95;
q52=0.5;
p62=0.95;
q62=0.5;
p72=0.5;
q72=0.5;
p82=0.95;
q82=0.5;
p92=0.5;
q92=0.5;
p102=0.95;
q102=0.5;
p112=0.95;
q112=0.5;
p122=0.95;
q122=0.5;
p132=0.65;
q132=0.05;
yp02=0;
yp12=0;
ep02=0;
ep12=0;
up02=1.05;
up12=1.39;
x12=0.12;
x22=0.24;
y02=0;
y12=0;
u12=0;
e02=0;
e12=0;
sp2=5;
se2=0.02;
sd2=0.02;
su2=0.0522;
kp2=0.284;
ki2=0.03;
kd2=0.626;
%+++++++++++++++++++++++++++++++++++++++%子系统1(SUB1)的J循环开始
forJ=1:
50
ep1=10-yp1;
pid=kp*(ep1-ep0)+ki*ep1;
up2=up1+pid;
yp2=0.5*yp1+2.5*up2+2.5*up1;
%yp2=0.8333*yp1-0.1667*yp0+1.6667*up2+1.6667*up1;
yp(:
J)=yp2;
up0=up1;
up1=up2;
ep0=ep1;
yp0=yp1;
yp1=yp2;
end
time=[1:
1:
50];
n=0.28*rand(size(time));
%产生的SUB1随机噪声
n1=0.3*rand(size(time));
%产生的SUB2随机噪声
while(k<
=50)
%functiondealwith
for(T=1:
20)
X1=x1*se;
X2=x2*sd;
if(X1<
=-2)
X1=-2;
elseif(X1>
=2)
X1=2;
end
if(X2<
X2=-2;
elseif(X2>
X2=2;
%thehiddeninglayeroutputofFNN
fori=1:
3
forj=1:
A=[(X1-a11(:
i))/b11(:
i)].^2;
B=[(X2-a21(:
j))/b21(:
j)].^2;
h(i,j)=exp(-(A+B)/2);
%theoutput
sum=0;
sum=sum+h(i,j)*v1(i,j);
end
ot=sum;
cu=su*ot;
u2=u1+cu;
disp(u2);
if(u2<
0)
u2=0;
elseif(u2>
=1)
u2=1;
y2=0.5*y1+2.5*u2+2.5*u1+n1(:
k)+0.01*y12;
%+n1(:
k)+0.01*y12表示随机噪声和子系统间的相互耦合
disp(['
theoutputynumberis'
int2str(T)]);
disp(y2);
Y(:
k)=y2;
E=0.5*(sp-y2).^2;
e2=sp-y2;
Es(:
k)=e2;
x1=e2;
x2=e2-e1;
e0=e1;
e1=e2;
delot=(sp-y2)*2.5*su;
dv=v1(i,j)-v0(i,j);
v2=v1(i,j)+p13*delot+q13*dv;
v3(i,j)=v2;
%refreshingthecenterandwidth
%a11
s1=0;
s1=s1+v1(1,j)*h(1,j);
pa11=s1;
a110=a10(:
1);
a111=a11(:
dela11=pa11*(X1-a111)/b11(:
1).^2;
da11=a111-a110;
a112=a111+p1*dela11+q1*da11;
a10(:
1)=a111;
a11(:
1)=a112;
%a12
s2=0;
s2=s2+v1(2,j)*h(2,j);
pa12=s2;
a120=a10(:
2);
a121=a11(:
dela12=pa12*(X1-a121)/b11(:
2).^2;
da12=a121-a120;
a122=a121+p2*dela12+q2*da12;
2)=a121;
2)=a122;
%a13
s3=0;
s3=s3+v1(3,j)*h(3,j);
pa13=s3;
a130=a10(:
3);
a131=a11(:
dela13=pa13*(X1-a131)/b11(:
3).^2;
da13=a131-a130;
a132=a131+p3*dela13+q3*da13;
3)=a131;
3)=a132;
%b11
pb11=pa11;
b110=b10(:
b111=b11(:
delb11=pb11*[(X1-a111)].^2/b111.^3;
db11=b111-b110;
b112=b111+p4*delb11+q4*db11;
b10(:
1)=b111;
b11(:
1)=b112;
%b12
pb12=pa12;
b120=b10(:
b121=b11(:
delb12=pb12*[(X1-a121)].^2/b121.^3;
db12=b121-b120;
b122=b121+p5*delb12+q5*db12;
2)=b121;
2)=b122;
%b13
pb13=pa13;
b130=b10(:
b131=b11(:
delb13=pb13*[(X1-a131)].^2/b131.^3;
db13=b131-b130;
b132=b131+p6*delb13+q6*db13;
3)=b131;
3)=b132;
%a21
s4=0;
s4=s4+v1(i,1)*h(i,1);
pa21=s4;
a210=a20(:
a211=a21(:
dela21=pa21*(X2-a211)/b21(:
da21=a211-a210;
a212=a211+p7*dela21+q7*da21;
a20(:
1)=a211;
a21(:
1)=a212;
%a22
s5=0;
s5=s5+v1(i,2)*h(i,2);
pa22=s5;
a220=a20(:
a221=a21(:
dela22=pa22*(X2-a221)/b21(:
da22=a221-a220;
a222=a221+p8*dela22+q8*da22;
2)=a221;
2)=a222;
%a23
s6=0;
fori=1:
s6=s6+v1(i,3)*h(i,3);
pa23=s6;
a230=a20(:
a231=a21(:
dela23=pa23*(X2-a231)/b21(:
da23=a231-a230;
a232=a231+p9*dela23+q3*da23;
3)=a231;
3)=a232;
%b21
pb21=pa21;
b210=b20(:
b211=b21(:
delb21=pb21*[(X2-a211)].^2/b211.^3;
db21=b211-b210;
b212=b211+p10*delb21+q10*db21;
b20(:
1)=b211;
b21(:
1)=b212;
%b22
pb22=pa22;
b220=b20(:
b221=b21(:
delb22=pb22*[(X2-a221)].^2/b221.^3;
db22=b221-b220;
b222=b221+p11*delb22+q11*db22;
2)=b221;
2)=b222;
%b23
pb23=pa23;
b230=b20(:
b231=b21(:
delb23=pb23*[(X2-a231)].^2/b231.^3;
db23=b231-b230;
b232=b231+p12*delb23+q12*db23;
3)=b231;
3)=b232;
v0=v1;
v1=v3;
if(abs(e1)<
0.00015)
break;
a11
a21
b11
b21
v3
y0=y1;
y1=y2
u0=u1;
u1=u2;
%addingthesecondchannel
%权向量初始化部分
a102=[-202];
a112=[-202];
a202=[-202];
a212=[-202];
b102=[1.51.51.5];
b112=[1.51.51.5];
b202=[1.51.51.5];
b212=[1.51.51.5];
v02=[-1-0.5-0.5;
v12=[-1-0.5-0.5;
%+++++++++++++++++++++++++++++++++++++%子系统2(SUB2)的J循环开始
100
ep2=5-yp12;
pid2=kp2*(ep12-ep02)+ki2*ep12;
up22=up12+pid2;
yp22=0.5*yp12+1.25*up22+1.25*up12;
yp2(:
J)=yp22;
up02=up12;
up12=up22;
ep02=ep12;
yp02=yp12;
yp12=yp22;
%while(k<
=250)
%functiondealwidth
for(T=1:
X12=x12*se2;
X22=x22*sd2;
if(X12<
X12=-2;
elseif(X12>
X12=2;
if(X22<
X22=-2;
elseif(X22>
X22=2;
%thehiddeninglayeroutputofFNN,
A=[(X12-a112(:
i))/b112(:
B=[(X22-a212(:
j))/b212(:
sum2=0;
sum2=sum2+h(i,j)*v12(i,j);
ot=sum2;
cu=su2*ot;
u22=u12+cu;
disp(u22);
if(u22<
u22=0;
elseif(u22>
u22=1;
y22=0.5*y12+1.25*u22+1.25*u12+n(:
k)+0.01*y1;
%+n(:
k)+0.01*y1表示随机噪声和子系统间的相互耦合
theoutputy2numberis'
disp(y22);
Y2(:
k)=y22;
E2=0.5*(sp2-y22).^2;
e22=sp2-y22;
E22(:
k)=e22;
x12=e22;
x22=e22-e12;
e02=e12;
e12=e22;
delot=(sp2-y22)*1.25*su2;
dv=v12(i,j)-v02(i,j);
v22=v12(i,j)+p132*delot+q132*dv;
v32(i,j)=v22;
s12=0;
s12=s12+v12(1,j)*h(1,j);
pa112=s12;
a1102=a102(:
a1112=a112(:
dela112=pa112*(X12-a1112)/b112(:
da112=a1112-a1102;
a1122=a1112+p12*dela112+q12*da112;
a102(:
1)=a1112;
a112(:
1)=a1122;
s22=0;
s22=s22+v12(2,j)*h(2,j);
pa122=s22;
a1202=a102(:
a1212=a112(:
dela122=pa122*(X12-a121)/b112(:
da122=a1212-a1202;
a1222=a1212+p22*dela122+q22*da122;
2)=a1212;
2)=a1222;
s32=0;
s32=s32+v12(3,j)*h(3,j);
pa132=s32;
a1302=a102(:
a1312=a112(:
dela132=pa132*(X12-a1312)/b112(:
da132=a1312-a1302;
a1322=a1312+p32*dela132+q32*da132;
3)=a1312;
3)=a1322;
pb112=pa112;
b1102=b102(:
b1112=b112(:
delb112=pb112*[(X12-a111)].^2/b1112.^3;
db112=b1112-b1102;
b1122=b1112+p42*delb112+q42*db112;
b102(:
1)=b1112;
b112(:
1)=b1122;
pb122=pa122;
b1202=b102(:
b1212=b112(:
delb122=pb122*[(X12-a1212)].^2/b1212.^3;
db122=b1212-b1202;
b1222=b1212+p52*delb122+q52*db122;
2)=b1212;
2)=b1222;
pb132=pa132;
b1302=b102(:
b1312=b112(:
delb132=pb132*[(X12-a1312)].^2/b1312.^3;
db132=b1312-b1302;
b1322=b1312+p62*delb132+q62*db132;
3)=b1312;
3)=b1322;
s42=0;
s42=s42+v12(i,1)*h(i,1);
pa212=s42;
a2102=a202(:
a2112=a212(:
dela212=pa212*(X22-a2112)/b212(:
da212=a2112-a2102;
a2122=a2112+p72*dela212+q72*da212;
a202(:
1)=a2112;
a212(:
1)=a2122;
s52=0;
s52=s52+v12(i,2)*h(i,2);
pa222=s52;
a2202=a202(:
a2212=a212(:
dela222=pa222*(X22-a2212)/b212(:
da222=a2212-a2202;
a2222=a2212+p82*dela222+q82*da222;
2)=a2212;
2)=a2222;
s62=0;
s62=s62+v1(i,3)*h(i,3);
pa232=s62;
a2302=a202(:
a2312=a212(:
dela232=pa232*(X22-a2312)/b212(:
da232=a2312-a2302;
a2322=a2312+p92*dela232+q32*da232;
3)=a2312;
3)=a2322;
pb212=pa212;
b2102=b202(:
b2112=b212(:
delb212=pb212*[(X22-a2112)].^2/b2112.^3;
db212=b2112-b2102;
b2122=b2112+p102*delb212+q102*db212;
b202(:
1)=b2112;
b212(:
1)=b2122;
pb222=pa222;
b2202=b202(:
b2212=b212(:
delb222=pb222*[(X22-a2212)].^2/b2212.^3;
db222=b2212-b2202;
b2222=b2212+p112*delb222+q112*db222;
2)=b2212;
2)=b2222;
pb232=pa232;
b2302=b202(:
b2312=b212(:
delb232=pb232*[(X22-a2312)].^2/b2312.^3;
db232=b2312-b2302;
b2322=b2312+p122*delb232+q122*db232;
3)=b2312;
3)=b2322;
v02=v12;
v12=v32;
if(abs(e12)<
if(abs(e1)<
=eps&
abs(e)<
=eps)
else
k=k+1;
y02=y12;
y12=y22;
u02=u12;
u12=u22;
L=k-1;
n2=n;
%L=k;
m=1:
L;
R=ones(size(m));
sp=R*10;
sp2=R*5;
a112
a212
b112
b212
v12
%plot(m,sp,'
r'
m,y,'
g'
go'
g.'
m,yp,'
b'
);
subplot(2,1,1);
plot(m,sp,'
k'
m,Y,'
rx'
m,sp2,'
m,Y2,'
bx'
m,Es,'
m,E22,'
legend('
spisSUB1-input'
'
YisSUB1-decoupling'
sp2isSUB2-input'
Y2isSUB2-decoupling'
Esiserror1'
E22iserror2'
);
%图标炷
title('
Thed
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模糊 神经网络 噪声 MATLAB 程序