【问题标题】:Use MATLAB to plot a response of a closed-loop system to a step input or unit ramp?使用 MATLAB 绘制闭环系统对阶跃输入或单位斜坡的响应?
【发布时间】:2010-11-23 23:56:10
【问题描述】:

我不确定我是否可以在这里问这样的问题,因为这与控制和设计有关..

无论如何,我正在尝试使用 matlab 绘制闭环系统对单位斜坡和阶跃输入的响应,但我不确定如何完成此操作..

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

有什么想法吗?

谢谢!

【问题讨论】:

    标签: function matlab controls transfer


    【解决方案1】:

    控制系统工具箱比 Alejandro 让你相信的更方便!

    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 并得到斜坡。

    【讨论】:

    • 也感谢您的额外解释:)
    【解决方案2】:

    假设您拥有控制系统工具箱。让我们为 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 的定义(帮助 tf 了解详细信息),并且可能将时间向量 t 调整为您想要的时间范围。

    【讨论】:

    • 非常感谢您的回复!!
    • 嗯我今天问了讲师,他说使用lsim是正确的方法。他说 G/(1+KG) 是不正确的,因为前向路径必须包含 GK,所以我最好使用 feedback(GK,1) 然后逐步执行该响应...谢谢 Alejandro !
    • 抱歉误导您;当您分别提供 G 和 K 时,我假设 K 在反馈路径中没有询问。 :) 当然,CL=(GK/(1+GK)) 仍然有效!
    • 对不起,双重评论。关于使用 step vs lsim 的斜坡响应,两者都会给你相同的答案。尝试绘制 lsim(CL,t,t) 与 step(CL/s);你可能需要提供一个时间向量来让它使用与 lsim 相同的轴,但你会得到相同的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多