在Matlab Simulink模型的命令行中逐步模拟

时间:2015-04-07 09:11:42

标签: command-line simulink

我想要一个Matlab Simulink的命令行实现解决方案。在simulink模型中,有一个模拟开关叫做#34;前进"。有了这个,我能够一步一步地运行,并能够在每个采样时间内查看范围内的输出。

我还可以在任何采样周期时更改常量输入块的某些输入。但是,我想在命令行中执行此操作,因为我有一个庞大的模型,我想重用此模型验证脚本。

我可以使用" sim"做这样的事情。命令。但是sim命令只是模拟整个模型,我无法观察/改变中间输出/输入。 " sim"具有特定停止时间的命令正在运行某些采样周期,但稍后如果我给出下一个" sim"命令,它从头开始运行,而不是从停止的位置开始。但是,是否存在任何精确的Matlab命令来逐步和暂停(一个采样周期时间)模拟,就像在simulink gui中那样。

2 个答案:

答案 0 :(得分:1)

您希望在一次模拟结束时使用SimState保存模型的状态,并在下一次模拟开始时恢复它们。如何执行此操作在Save and Restore Simulation State as SimState下的文档中进行了描述。

您不能在每次调用sim之间对模型进行任何结构更改(例如添加或删除块)。还有一些块不支持SimState,请参阅文档以获取更多详细信息。请注意,这是针对最新版本(R2015a),在过去几年中添加了越来越多的块以支持SimState,因此您需要根据您使用的版本检查release notes

答案 1 :(得分:1)

你可以试试这个:

sldebug('gcs');

您现在处于调试模式,您可以输入帮助以获取可用命令的概述。要在:

中输入模型类型
next

每次下次输入时,都会向前移动模拟一步。

以下链接将为您提供有关如何逐步完成模拟的更多详细信息。

http://www.mathworks.com/help/simulink/ug/how-stepping-through-a-simulation-works.html

有关使用调试器逐步运行模拟的更多详细信息,请访问:

http://www.mathworks.com/help/simulink/ug/running-a-simulation-step-by-step.html

相关问题