如何提高性能(加速)我Simscape模型,使用硬停止?

13个视图(30天)
我有Simscape模型,使用几个硬停块,我发现模型是缓慢的。我想减少模型的计算时间,这样我可以加速和提高性能。我注意到模型的步长很小(例如1 e15汽油),我看到硬停止踢时零交叉;我意识到我想避免这种情况,但我不确定该怎么做。任何建议,你必须给我更好的性能(包括我的具体模式和一般在Simscape如何加快速度和处理零交叉)会感谢。

接受的答案

MathWorks支万博1manbetx持团队
编辑:MathWorks支万博1manbetx持团队 2022年10月13日
如果你愿意单独调整每个努力停止的参数,您应该能够避免零交叉和相关的小的步长。要做到这一点,你需要减少硬的弹簧常数停止,同时保持系统的预期行为。这将避免非常高的加速度大部队和一个小质量。
此外,这里有一些资源,试图最大化时,您可能会发现有用的性能Simscape模型:
1)你会发现下面的MATLAB的答案回答帖子有用,因为它描述了一个好方法努力调优停在Simscape模型:
2)此链接提供了一些有用的一般信息关于改善Simscape模型的速度和准确度。你会注意到的一件事是,它所描述的方法之一,增加模型的速度是删除元素,导致中断,停止等困难。这是因为很难停止的动力学本质上是很难模型数值的方式既准确又快,因为很难停止原因力突然从0到一个非常大的价值。当然,在许多情况下使用一个硬停是必要的,以及可以采取措施减轻减缓这些原因。然而,在可能的情况下避免困难停止是一个很好的方法来提高模型的性能。
3)这个链接地址在Simscape零交叉的处理方式,以及如何避免它们。
4)如果你正试图从Simscape模型生成代码,您将需要使用一个固定的解决者。固定步解决者还将确保一致的执行速度的模型,但他们有自己的挑战。以下链接是一个有用的指南,如果你想追求使用固定的解决者:

更多的答案(0)

类别

找到更多的在模型制备帮助中心文件交换

s manbetx 845


释放

R2018a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!