如何加速基于 Simscape 的物理模型的仿真?

How to speed up simulation of Simscape based Physical model?

我正在研究液压系统的建模和控制。系统的建模是在 Simulink 环境中的 Matlab simscape 中建模的,如下所示 对于控制活塞位置的基本控制(图中的活塞位置),我建立了简单的反馈来检查位置。

虽然我在运行模拟的时候,这个涉及到控制位置的模拟太费时间了。例如,如果我给所需的活塞位置 300 毫米,而输出达到 290-294 毫米左右,模拟时间达到 5.18 秒左右,而不是卡在该位置上的时间更长。

我想知道,有什么办法可以加快模拟速度吗?

由于 simscape 建模,我正在使用 Matlab simulink 求解器 ode23t。

总体上加速模拟是一个庞大的主题。看来这里的问题是在可变步长求解器中触发多个小时间步长的事件。 这可能是完全正常的,例如离合器接合或阀门打开。 要检查您是否可以执行这种情况(确保启用时间记录):

semilogy(tout(2:end), diff(tout))

尖锐的向下尖峰表明采取了小的时间步长。要进行更深入的分析,您可以使用 Solver Profiler:

https://www.mathworks.com/help/simulink/ug/examine-solver-behavior-using-solver-profiler.html

这将为您提供有关哪些组件导致解算器重置的详细信息。 如果您不习惯使用该工具,则此类行为可能难以调试。如果该行为仍然存在,我强烈建议您联系 MathWorks 技术支持。他们将能够查看您的模型并诊断问题。