我正在研究液压系统的建模和控制。系统建模在Simulink环境中的Matlab simscape中建模,如下所示 并且为了控制活塞位置的基本控制(图中的活塞位置)我建立了简单的反馈来检查位置。
当我进行模拟时控制位置模拟需要花费太多时间。例如,如果我给出了所需的活塞位置300毫米,而输出达到290-294毫米左右,模拟时间达到大约5.18秒,而不是长时间粘在上面。
我想知道,有没有办法加速模拟?
由于simscape建模,我正在使用Matlab simulink solver ode23t。
答案 0 :(得分:1)
一般来说,加速模拟是一个巨大的课题。这里的问题似乎是一个在变量步求解器中触发多个小时间步的事件。 这可以是完全正常的,例如离合器接合或阀开口。 要检查是否是这种情况,您可以执行(确保启用时间记录):
semilogy(tout(2:end),diff(tout))
急剧向下的尖峰表明采取了很小的时间步骤。要进行更深入的分析,您可以使用Solver Profiler:
https://www.mathworks.com/help/simulink/ug/examine-solver-behavior-using-solver-profiler.html
这将为您提供有关哪些组件导致解算器重置的详细信息。 如果您不习惯该工具,则此类行为可能难以调试。如果行为持续存在,我强烈建议与MathWorks技术支持部门取得联系。他们将能够查看您的模型并诊断问题。