我的主要目标是为传递函数 (5.551* s^2) 制作一个控制器,使用根轨迹我制作了如下所示的控制器。使用 step () 函数分析工作区中的阶跃响应我得到了一个令人满意的答案,但是当我尝试将此答案传输到 Simulink 时,响应的行为不同,例如在稳定状态下,我希望获得尽可能小的错误在 Workspace 但在 Simulink 中有一个很大的错误,由于某种原因,在 8 秒时间(Simulink 仿真时间)有一个“跳跃”,如显示屏上所示,当我更改仿真时间时,这个“跳跃”发生了变化我也不知道为什么在一种环境和另一种环境之间会发生这些变化。
Workspace 中的阶跃响应
Simulink 中的阶跃响应,仿真时间为 8 秒
Simulink 中的阶跃响应,仿真时间为 12 秒
Simulink 控制器
Simulink 传递函数
我希望制作一个误差小于 5% 且超调小于 25% 的控制器,所以我首先制作了一个带有两个积分器的控制器,以消除零对源的影响,然后我在控制器上添加了两个积分器源尝试减少误差,零在 -0.652 我为此使用了角度条件和 0.240251 的增益我使用了模块化条件。
我没想到会出现最优化的行为,只是它具有满足强加条件的最小条件,所以我并不担心源头上的四个积分器。
我尝试使用 sisotool() 命令,以为我做错了什么,但是当我模拟 Simulink 时结果发生了很大变化,所以我放弃了这个选项并保留了我使用根轨迹制作的控制器。