1

我正在研究液压系统的建模和控制。系统的建模是在 simulink 环境中的 Matlab simscape 中建模的,看起来像这样系统 ,对于控制活塞位置(图中的活塞位置)的基本控制,我已经建立了简单的反馈来检查位置。

当我运行模拟来控制位置时,模拟需要太多时间。例如,如果我给所需的活塞位置 300 毫米,而输出达到 290-294 毫米左右,模拟时间达到 5.18 秒左右,而不是停留在该位置上的时间更长。

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

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

4

1 回答 1

1

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

符号学(吹捧(2:结束),差异(吹捧))

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

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

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

于 2017-07-11T12:38:16.210 回答