資源簡介
MATLAB源代碼,基于LM算法的神經網絡訓練程序,比傳統BP算法快20倍以上
代碼片段和文件信息
%初始化
clear
s=0.01;Yout(11)=3.9;Yout(21)=4.5;Yout(31)=4.5;Rin=5.5;U0=18;cha0=0;Ic=eye(3);Ii=eye(25);
Ec0=2;Ei0=2;g=4710;Ch0=10^(-4);e(11)=1.6;e(21)=1.5;Ch0=10^(-4.1);xc0=[0;18.4;0];netc0=[0;0;0];
c=10;hi=0.001;hc=0.001;Q=1.05;xwc10=[000]‘;xwc11=[0.14.80.5]‘;tiaocha=0;aef=0;z=10;y=0.03;y1=0.6;a=1;b=1;r=0.2;max=300;
Wij=y*ones(54);W1i=y1*ones(15);W13=(xwc11)‘;
%計算網絡輸出及誤差指標函數E(x)
for?k=3:1:max
????%NNC輸出
???e(k1)=Rin-Yout(k1);
???P=e(k1);
???I=e(k1);
???D=e(k1)-e((k-1)1);
???netc=[P;I;D];
???%比例元
?????if?(netc(11)<-1)
????????xc(11)=-1;
????elseif?(netc(11)>1)
????????xc(11)=1;
????else?
????????xc(11)=netc(11);
????end
????%積分元
????if?(abs(netc(21))<=a)
????????fnetc=1;
????elseif?(abs(netc(21))>=(a+b))
????????fnetc=abs(netc(21))/(2*(a+b));
評論
共有 條評論