在Matlab中启动给定步骤的模拟

0 matlab simulink matlab-engine

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

set_param('model_name','StartTime','0','StopTime','5');  
set_param('model_name','SimulationCommand','start');
Run Code Online (Sandbox Code Playgroud)

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

bha*_*esh 5

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

set_param('yourModelName','SaveFinalState','on','FinalStateName','myFinalStateVar','SaveCompleteFinalSimState','on')
Run Code Online (Sandbox Code Playgroud)

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

set_param('yourModelName','LoadinitialState','on','InitialState','mySimState')
Run Code Online (Sandbox Code Playgroud)

这样你就可以从你离开的最后一个状态开始模拟.