我正在模拟以下一阶系统(ode45 10^-3相对公差-默认设置):

范围(洋红方波,黄色滤光片输出):

脉冲发生器产生方波。有趣的是,当输入为0(当方波返回到0时),一阶系统的输出不会变成0。
我想这是个解决问题的问题。你以前见过这个吗?我的代码中有一些0的比较,所以我应该将它们更改为一些容忍级别。这是个好办法吗?还是我应该更改解算器设置?
发布于 2014-01-23 03:43:14
正如另一个答案所建议的,这里的问题是你让求解者占用了太多的时间步骤。默认的“最大步长”设置为“自动”。这意味着步骤大小为(停止时间-启动时间)/50。您似乎设置了一个很大的停止时间,因此最大步长非常大。
如果您需要长时间运行模拟,那么您需要将步骤大小从默认的更改为更小的步骤。
发布于 2014-01-22 09:57:23
我想这是因为方波的频率太快了,没有足够的时间让系统动力学回到零。试着减少方波的频率。
您还可能希望在除默认设置之外的求解器设置中指定最大步长,以提高绘图的分辨率(例如,1s)。默认的最大步长是模拟停止时间除以20,因此可以相当粗糙。
https://stackoverflow.com/questions/21278201
复制相似问题