我正在研究液压系统的建模和控制。在simulink的simulink环境下,利用Matlab simscape对系统进行建模

对于控制活塞位置的基本控制(图中的活塞位置),我建立了简单的反馈来检查位置。
当我运行模拟来控制位置时,模拟花费了太多的时间。例如,如果我给期望的活塞位置300毫米,而输出到大约290-294毫米,模拟时间达到大约5.18秒,而它被卡在上面的时间更长。
我想知道,有什么方法可以加快模拟速度吗?
由于simscape建模,我使用Matlab simulink求解器ode23t。
发布于 2017-07-11 20:38:16
一般来说,加速模拟是一个巨大的课题。这里的问题似乎是在可变步长求解器中触发多个小时间步长的事件。这可以是完全正常的,例如离合器接合或阀门打开。要检查您是否可以执行此操作(请确保启用了时间记录):
semilogy(tout(2:end),diff(tout))
急剧向下的尖峰表明采取了很小的时间步长。要进行更深入的分析,可以使用Solver Profiler:
https://www.mathworks.com/help/simulink/ug/examine-solver-behavior-using-solver-profiler.html
这将为您提供有关哪些组件导致求解器重置的详细信息。如果您不习惯这个工具,这样的行为可能很难调试。如果该行为持续存在,我强烈建议您联系MathWorks技术支持人员。他们将能够查看您的模型并诊断问题。
https://stackoverflow.com/questions/42248822
复制相似问题