資源簡介
simulink s函數(shù)神經(jīng)網(wǎng)絡BP-PID,教程和一些注意事項matlab

代碼片段和文件信息
function[sysx0strts]=cilian(txuflag)
switch?flag
????case?0?
????????[sysx0strts]=mdlInitializeSizes;
????case?2?
????????sys=mdlUpdates(xu);
????case?3?
????????sys=mdlOutputs(txu);
????case{149}
????????sys=[];
????otherwise
????????error([‘unhandledflag=‘num2str(flag)]);
end?
function[sysx0strts]=mdlInitializeSizes?
sizes=simsizes;?
sizes.NumContStates=0;
sizes.NumDiscStates=3;
sizes.NumOutputs=4;
sizes.NumInputs?=7;
sizes.DirFeedthrough=1;
sizes.NumSampleTimes=1;
sys=simsizes(sizes);
x0=zeros(31);
str=[];
ts=[1?0];
function?sys=mdlUpdates(xu)
T=0.001;
?x=[u(5);x(2)+u(5)*T;(u(5)-u(4))/T];
sys=[x(1);x(2);x(3)];
function?sys=mdlOutputs(txu)?
xite=0.2;
alfa=0.05;
IN=3;
H=5;
OUT=3;
wi=rand(HIN);
wi_1=wi;
wi_2=wi;
wi_3=wi;
wo=rand(INH);
wo_1=wo;
wo_2=wo;
wo_3=wo;
Oh=zeros(H1);
I=Oh;
xi=[u(1)u(3)u(5)];
epid=[x(1);x(2);x(3)];
I=xi*wi‘;
for?j=1:H?
Oh(j)=(exp(I(j))-exp(-I(j)))/(exp(I(j))+exp(-I?(j)));?
end
K1=wo*Oh;
for?i=1:OUT?
K(i)=exp(K1(i))/(exp(K1(i))+exp(-K1(i)));
end
u_k=K*epid;
dyu=sign((u(3)-u(2))/(u(7)-u(6)+0.0001));
for?j=1:OUT?
dK(j)=2/(exp(K1(j))+exp(-K1(j)))^2;
end
for?i=1:OUT
delta3(i)=u(5)*dyu*epid(i)*dK(i);
end
for?j=1:OUT
for?i=1:H?
d_wo=xite*delta3(j)*Oh(i)+alfa*(wo_1-wo_2);
end
end
wo=wo_1+d_wo;
for?i=1:H?
dO(i)=4/(exp(I(i))+exp(-I(i)))^2;
end
segma=delta3*wo;
delta2=dO.*segma;
d_wi=xite*delta2‘*xi+alfa*(wi_1-wi_2);
wi=wi_1+d_wi;
wo_3=wo_2;
wo_2=wo_1;
wo_1=wo;
wi_3=wi_2;
wi_2=wi_1;
wi_1=wi;?
Kp=K(1);
Ki=K(2);
Kd=K(3);
sys=[u_kKpKiKd];
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????1591??2018-03-24?19:36??cilian.m
?????文件???????34956??2018-03-25?16:56??easycontroller.mdl
?????文件??????358127??2018-03-24?15:35??S函數(shù)的BP神經(jīng)網(wǎng)絡PID控制器Simuli
?????文件???????13415??2018-03-25?16:59??新建?Microsoft?Word?文檔.docx
?????文件?????1163776??2018-03-24?15:31??神經(jīng)網(wǎng)絡PID畢業(yè)設計完整.doc
評論
共有 條評論