【问题标题】:Matlab sisotool steady state errorMatlab sisotool 稳态误差
【发布时间】:2014-04-26 21:26:33
【问题描述】:

我正在尝试使用 sisotool 为飞行控制类设计控制器。 G=1/((s+0.1)(s+0.5))H=1/(s+1)。稳态误差必须为 0,上升时间必须

% set up dynamic
gNum = [1];
gDen = conv([1 .1],[1 .5]);
G = tf(gNum,gDen)

% set up sensor
hNum = [1];
hDen = [1 0];
H = tf(hNum,hDen)

% find poles
poles = roots(conv(gDen,hDen))

% plot
sisotool(G,1,H,1)

我松散地调整增益以使其稳定。所以现在我有 C = 0.00445。我拉起阶跃响应图,看到我的最终值为 0,我需要它为 1。我一直在添加和调整真实的极点和积分器,但没有任何东西移动最终值。我相信我可以满足上升时间和过冲参数,但我不知道如何将最终值设为 1。此作业中的第二个问题给出的最终值为 10。我知道我可以将 F = 0.1 设置为把那个降到 1,但我认为我们不应该这样做。

【问题讨论】:

    标签: matlab controller


    【解决方案1】:

    您将传感器 (H) 指定为积分器。这是非常不寻常的,从本质上讲,在稳定状态下,输出 y 的值必须为 0。

    除非 F 也是一个积分器,否则你永远不会让它跟踪一个步骤。 但是,在这种情况下,您的两个信号将集成到无穷大,这可能在模拟中有效,但在任何实际系统中都无法完成。

    当然,仔细比较您对 H 应该是什么的文本描述以及您的代码中实际包含的内容,也可以解决这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-13
      • 2022-01-07
      • 2011-05-24
      • 2015-07-11
      • 1970-01-01
      • 2012-03-04
      • 1970-01-01
      相关资源
      最近更新 更多