【问题标题】:Launching the simulation for given step in Matlab在 Matlab 中启动给定步骤的模拟
【发布时间】:2014-03-11 16:02:45
【问题描述】:

我正在使用 simulink 模型,我必须在特定时间段内启动我的模拟。目前我正在使用

set_param('model_name','StartTime','0','StopTime','5');  
set_param('model_name','SimulationCommand','start');

这种方法的问题是当模拟结束并且我再次启动它时,它会从头开始,所有的模拟进度都将丢失。在这里我想从最后一个状态运行模拟。如何做到这一点?

【问题讨论】:

  • 你在这两个步骤之间做什么?你在改变你模型的状态吗?您是否考虑过直接从 Simulink 调用所有函数?
  • 我从 matlab 引擎运行它。我在特定时间段内运行模拟,在它停止后我查询一些工作区变量并重复该过程。

标签: matlab simulink matlab-engine


【解决方案1】:

您可以保存模型的状态,以便从上一个状态重新启动它。
在开始模拟之前使用此命令保存模型的状态

set_param('yourModelName','SaveFinalState','on','FinalStateName','myFinalStateVar','SaveCompleteFinalSimState','on')

在启动模拟之前再次使用命令设置模型的初始状态

set_param('yourModelName','LoadinitialState','on','InitialState','mySimState')

这样,您将从您离开的最后一个状态启动模拟。

【讨论】:

    猜你喜欢
    • 2020-12-22
    • 2015-02-16
    • 1970-01-01
    • 2012-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-10
    相关资源
    最近更新 更多