资源简介

对典型二阶系统的模糊控制与传统PID控制分别用matlab编程,进行的性能比较

资源截图

代码片段和文件信息

% Example 3.8
% --------------------------------------------
% 典型二阶系统的模糊控制与传统PID控制的性能比较
% --------------------------------------------
num=20;
den=[1.64.41];
[a1bcd]=tf2ss(numden);
x=[0;0];
T=0.01;h=T;
umin=0.07;umax=0.7;
td=0.02;Nd=td/T;
N=500;R=1.5*ones(1N);
% --------------------------------------------
% 传统PID控制
% --------------------------------------------
e=0;de=0;ie=0;
kp=5;ki=0.1;kd=0.001;
for k=1:N
    uu1(1k)=-(kp*e+ki*de+kd*ie);
    % 延迟环节
    if k<=Nd
        u=0;
    else
        u=uu1(1k-Nd);
    end
    % 死区和饱和环节
    if abs(u)<=umin
        u=0;
    elseif abs(u)>umax
        u=sign(u)*umax;
    end
    % 利用龙格—库塔法进行系统仿真
    k0=a1*x+b*u;
    k1=a1*(x+h*k0/2)+b*u;
    k2=a1*(x+h*k1/2)+b*u;
    k3=a1*(x+h*k2)+b*u;
    x=x+(k0+2*k1+2

评论

共有 条评论