我正在模拟以下一阶系统(ode45 10 ^ -3相对容差 - 默认设置):
范围(品红色 - 方波,黄色 - 滤波器输出):
脉冲发生器产生方波。有趣的是,当输入为0时(当方波回到0时),一阶系统的输出不会变为0。
我猜这是一个求解器问题。你以前见过这个吗?我的代码中有0个比较,所以我应该将它们改为一些容差级别。这是一个好的解决方案吗?或者我应该更改解算器设置吗?
答案 0 :(得分:1)
我认为这是因为方波的频率太快,系统动态没有足够的时间回到零。尝试降低方波的频率。
您可能还希望在默认值以外的解算器设置中指定最大步长,以提高绘图的分辨率(例如1s)。默认的最大步长是模拟停止时间除以20,因此它可能非常粗糙。
答案 1 :(得分:1)
正如另一个答案中所建议的那样,问题在于你让解算器花了太多时间。默认的“最大步长”设置为“自动”。这意味着步长为(StopTime-StartTime)/ 50。您似乎设置了较长的停止时间,因此最大步长非常大。
如果您需要长时间运行模拟,则需要将步长从默认值更改为更小的值。