📄 psopidforobj.m
字号:
%对一个串级系统进行仿真,并且计算绝对误差的矩积分
function Q=PsoPidForObj(kp,ki);
% kp=0.5;
% ki=2;
dt=4;
LP=1000;
k=1;
t=20;
delay=round(120/dt);
%初始化中间变量
x1=0;
x2=0;
x3=0;
x=zeros(1,delay);
%误差
e=0;
R=1;
Q=0;
%中间常数
c1=exp(-dt/t);
d1=1-c1;
for i=1:LP/dt
%误差,前一时刻误差
e=R-x(delay);
%外环PID
x1 = x1+dt*e*ki;
r=kp*e+x1;
x2=x2*c1+d1*r;
x3=x3*c1+d1*x2;
for j=delay:-1:2
x(j)=x(j-1);
end
x(1)=x3;
out(i)=x(delay);
% 目标值
Q=Q+dt*dt*abs(e)*i;
end
% Q
% figure(2)
% plot(out);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -