资源简介
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));
评论
共有 条评论