j_itae.m

来自「这是个利用粒子群算法(PSO)优化PID控制器参数的matlab程序」· M 代码 · 共 34 行

M
34
字号
function  q=J_ITAE(x)%(x,ht)
% axis([0,40,1,1.2]);
Kp=x(1);Ki=x(2);Kd=x(3);
Ti=Kp/Ki;Td=Kd/Kp;
T=0.5

    numpid=[Kp*Td*Ti,Kp*(Ti+Td),Kp];denpid=[Td*Ti,Ti,0];
    [numz,denz]=pade(T,4);
    numd=([0,0,1]);dend=([1,2,1]);
%     num=conv(conv(numpid,numd),denz);xyj
%     num=conv(conv(numpid,numd),numz); jsx1
    num=conv(conv(numpid,numd),denz);%jsx2
    den1=conv(conv(denpid,dend),denz);
    den2=conv(conv(numpid,numd),numz);
    den=den1+den2;
    
%     t=0:0.1:50;xyj
    t=0:0.1:100;
%     ii=find(t>=T);
%     [y,x]=step(num,den,t);
%     y=[zeros(ii(1)-1,1);y((ii(1)+1):length(t))];

%     y(1:length(t)-ii(1)+1)];
    
%     if (ht==1) plot(t,y,'-');
%     end
%     if (ht==2) plot(t,y,'--');
%     end
    q=0;tt=0;
    for j=1:501
        q=q+abs(1-y(j))*tt*0.1;
        tt=tt+0.1;
    end
end

⌨️ 快捷键说明

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