我试图运行一个闭环系统上的simulink,如下所示。

当我运行它时,它会得到这个结果。

正如您所看到的,使step函数达到1有一个轻微的时间延迟,闭环输出也要到1.5秒左右才会启动。我知道这是现实世界中会发生的事情,但我想知道是否有办法消除这个时间延迟,并使输出显示“理想的”结果。
谢谢
编辑
只是想多加点信息。步骤输入是一个标准的步骤输入,我在设置上唯一改变的是模拟时间为8秒,而求解器是一个固定步长ode1 (euler)。
发布于 2017-05-22 21:20:32
您使用的是固定的步骤求解器,因此步骤大小默认为(Stop_Time_Time)/50,在您的情况下该值等于0.16。因此,在1s时没有时间步长。在第6步= 0.96时,步骤为0。在第7时间步骤= 1.12,步骤是1。这正是所显示的,并对您正在使用的模拟参数进行校正。
对于一个固定的步骤求解器,如果您希望该步骤恰好发生在1s,那么您需要指定一个步骤大小,以便模型在1s处执行一个时间步骤。您可以通过进入模拟参数下拉菜单的Solver面板,并将步骤大小更改为适当的方法来实现这一点。(请注意,图中仍将显示从1开始的步骤,但在一步之后完成。)
或者,您可以使用可变步长求解器。(这将显示该步骤在1s时完全垂直。)
关于时间延迟,你有一个比零多3个极点,所以当使用固定步长欧拉时,会有一个3步的时间延迟。改变的唯一方法是使用不同的求解器。
https://stackoverflow.com/questions/44114578
复制相似问题