psopidforout.m

来自「pso优化bp神经网络的程序,是师兄论文里的程序,希望对大家有用!」· M 代码 · 共 57 行

M
57
字号
%对一个串级系统进行仿真,并且计算绝对误差的矩积分



%function Q=PsoPidForOut(kp,ki);
kp=0.3354
ki=0.0050

dt=1;
LP=1500;

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

figure(2)
plot(out);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?