我在SimMechanics中有一个使用6个衍生块(du / dt)的程序。大约需要24小时才能进行10秒的模拟。有没有办法减少Simulink衍生块的计算时间?
答案 0 :(得分:1)
您没有说明您的整合时间步骤是什么。如果它在毫秒级,并且您模拟总共10秒的瞬态时间,则意味着10,000个时间步长。
时间步长的稳定性极限取决于您正在模拟的动态系统的特性。
它也受到您正在使用的集成方案的影响。众所周知,显式积分对于较大的时间步长存在稳定性问题,因此如果您使用Euler积分方法,则会被迫使用一小段时间。
也许您可以将集成方案切换为隐式方法,带错误纠正的5阶Runge Kutta或Burlich-Storer。有关详细信息,请参阅您的文档。
您没有提供有关感兴趣的系统的物理特性,模型的大小或您的模拟选择的有用信息,因此所有这些都是我的一个有根据的猜测。
答案 1 :(得分:1)
如果你的问题需要一些“僵硬的”解决方法,请考虑一下。如果处理不当,巨大的常数条款可能会导致求解器不稳定。