代码之家  ›  专栏  ›  技术社区  ›  NLed

使用MATLAB绘制闭环系统对阶跃输入或单位斜坡的响应?

  •  1
  • NLed  · 技术社区  · 14 年前

    我不确定我是否能在这里提出这样的问题,因为这与控制和设计有关。。

    无论如何,我试图用matlab绘制闭环系统对单位斜坡和阶跃输入的响应,但我不知道如何实现这一点。。

    我的传递函数是:G=13/(s*(s+3)*(s+1))和K=8

    有什么想法吗?

    谢谢!

    2 回复  |  直到 14 年前
        1
  •  2
  •   Alejandro    14 年前

    假设你有控制系统工具箱。当G(s)=1/(s+1)时。

    G = tf(1, [1 1]);
    CL = feedback(G, 1);
    step(CL) % Step response
    t = 0:.01:5;
    lsim(CL,t,t) % Ramp response
    

    对于您的示例,您需要更改的只是G的定义(详细信息请参见help tf),并可能将时间向量t调整为所需的时间范围。

        2
  •  3
  •   kwantam    14 年前

    控制系统工具箱比亚历杭德罗让你相信的更方便!

    s = tf('s');
    K = 8;
    G = 13/(s*(s+3)*(s+1));
    CL = G/(1+K*G);
    step(CL); % step response
    step(CL/s); % ramp response
    

    记住,斜坡响应是阶跃响应的积分。因此,可以将阶跃响应乘以1/s,得到斜坡。