资源简介
利用SOA神经网络实现PID参数的自整定,选择最优的控制参数
代码片段和文件信息
function BsJ=PID_SOA(Kpidi)
ts=0.001;
sys=tf([1.05][6.8e-6 2.47e-3 0.7925]);
dsys=c2d(systs‘z‘);
[numden]=tfdata(dsys‘v‘);
u_1=0.0;u_2=0.0;
y_1=0.0;y_2=0.0;
x=[000]‘;
B=0;
error_1=0;
tu=1;
s=0;
P=100;
for k=1:1:P
timef(k)=k*ts;
r(k)=1;
u(k)=Kpidi(1)*x(1)+Kpidi(2)*x(3)+Kpidi(3)*x(2);
if u(k)>=10
u(k)=10;
end
if u(k)<=-10
u(k)=-10;
end
yout(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2;
error(k)=r(k)-yout(k);
%-------------------Return of PID parameters----------------
u_2=u_1;u_1=u(k);
y_2=y_1;y_1=yout(k);
x(1)=error(k); % Calculating P
x(2)=(error(k)-error_1)/ts; % D
x(3)=x(3)+error(k)*ts; % I
error_2=error_1;
error_1=error(k);
if s==0
if yout(k)>0.95&yout(k)<1.05
tu=timef(k);
s=1;
end
end
end
for i=1:1:P
Ji(i)=0.999*abs(error(i))+0.01*u(i)^2*0.1;
B=B+Ji(i);
if i>1
erry(i)=yout(i)-yout(i-1);
if erry(i)<0
B=B+100*abs(erry(i));
end
end
end
BsJ=B+0.2*tu*10;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 984 2013-09-26 12:49 shuchuquxianSOA.m
文件 3309 2013-09-26 12:49 SOA.m
文件 1148 2013-09-26 12:49 PID_SOA.m
----------- --------- ---------- ----- ----
5441 3
- 上一篇:位置式数字PID仿真程序
- 下一篇:卫星参数计算工具.rar
评论
共有 条评论