91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 0M
    文件類型: .m
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-18
  • 語言: Matlab
  • 標簽: 其他??

資源簡介

PID神經網絡.m

資源截圖

代碼片段和文件信息

%%?清空環境變量
clc
clear

%%?網絡結構初始化
rate1=0.006;rate2=0.001;?%學習率
k=0.3;K=3;
y_1=zeros(31);y_2=y_1;y_3=y_2;???%輸出值
u_1=zeros(31);u_2=u_1;u_3=u_2;???%控制率
h1i=zeros(31);h1i_1=h1i;??%第一個控制量
h2i=zeros(31);h2i_1=h2i;??%第二個控制量
h3i=zeros(31);h3i_1=h3i;??
x1i=zeros(31);x2i=x1i;x3i=x2i;x1i_1=x1i;x2i_1=x2i;x3i_1=x3i;???%隱含層輸出?
ki=1.5;kp=1;kd=10;
%權值初始化
k0=0.03;

%第一層權值
w11=k0*rand(32);
w12=k0*rand(32);
w13=k0*rand(32);
%第二層權值
w21=k0*rand(19);
w22=k0*rand(19);
w23=k0*rand(19);

%值限定
ynmax=1;ynmin=-1;??%系統輸出值限定
xpmax=1;xpmin=-1;??%P節點輸出限定
qimax=1;qimin=-1;??%I節點輸出限定
qdmax=1;qdmin=-1;??%D節點輸出限定
uhmax=1;uhmin=-1;??%輸出結果限定

%%?網絡迭代優化
for?k=1:1:200

????%%?控制量輸出計算
????%--------------------------------網絡前向計算--------------------------
????
????%系統輸出
????y1(k)=(0.4*y_1(1)+u_1(1)/(1+u_1(1)^2)+0.2*u_1(1)^3+0.5*u_1(2))+0.3*y_1(2);
????y2(k)=(0.2*y_1(2)+u_1(2)/(1+u_1(2)^2)+0.4*u_1(2)^3+0.2*u_1(1))+0.3*y_1(3);
????y3(k)=(0.3*y_1(3)+u_1(3)/(1+u_1(3)^2)+0.4*u_1(3)^3+0.4*u_1(2))+0.3*y_1(1);
????
????r1(k)=0.7;r2(k)=0.4;r3(k)=0.6;??%控制目標
????
????%系統輸出限制
????yn=[y1(k)y2(k)y3(k)];
????yn(find(yn>ynmax))=ynmax;
????yn(find(yn????
????%輸入層輸出
????x1o=[r1(k);yn(1)];x2o=[r2(k);yn(2)];x3o=[r3(k);yn(3)];
????
????%隱含層?
????x1i=w11*x1o;
????x2i=w12*x2o;
????x3i=w13*x3o;

????%比例神經元P計算
????xp=[x1i(1)x2i(1)x3i(1)];
????xp(find(xp>xpmax))=xpmax;
????xp(find(xp????qp=kp*xp;
????h1i(1)=qp(1);h2i(1)=qp(2);h3i(1)=qp(3);

????%積分神經元I計算
????xi=[x1i(2)x2i(2)x3i(2)];
????qi=[000];qi_1=[h1i(2)h2i(2)h3i(2)];
????qi=qi_1+xi;
????
????qi(find(qi>qimax))=qimax;
????qi(find(qi????QI=ki*qi;
????h1i(2)=QI(1);h2i(2)=QI(2);h3i(2)=QI(3);

????%微分神經元D計算
????xd=[x1i(3)x2i(3)x3i(3)];
????qd=[0?0?0];
????xd_1=[x1i_1(3)x2i_1(3)x3i_1(3)];
????qd=kd*(xd-xd_1);
????qd(find(qd>qdmax))=qdmax;
????qd(find(qd????h1i(3)=qd(1);h2i(3)=qd(2);h3i(3)=qd(3);

????%輸出層計算
????wo=[w21;w22;w23];
????qo=[h1i‘h2i‘h3i‘];qo=qo‘;
????uh=wo*qo;
????uh(find(uh>uhmax))=uhmax;
????uh(find(uh????u1(k)=uh(1);u2(k)=uh(2);u3(k)=uh(3);??%控制律
????
????%%?網絡權值修正
????%--------------------------------------網絡反饋修正----------------------
????
????%計算誤差
????error=[r1(k)-y1(k);r2(k)-y2(k);r3(k)-y3(k)];??
????error1(k)=error(1);error2(k)=error(2);error3(k)=error(3);
????J(k)=0.5*(error(1)^2+error(2)^2+error(3)^2);???%調整

評論

共有 條評論