我正在尝试从 M 文件控制 simulink。 我想在 M 文件中做的是为 simulink 模型提供一些输入,运行 simulink 模型,在 0.6 秒更改一个输入值,然后使用新输入继续运行 simulink 模型。
我已经知道通过使用 set_param,我可以启动、暂停和继续 simulink,但问题是我不知道如何在特定时间(0.6s)暂停 simulink 模型,是否有可能获得来自 simulink 模型的当前时间并在 M 文件中读取它?
我已经知道的另一种方法是使用sim从0到0.6s运行simulink模型,并使用SimState在0.6s保存信息,然后加载这些信息以恢复仿真。我试图在模拟恢复之前更改输入,但似乎模型将从它保存的信息中加载输入值,它不会采用新的输入值。
我在这个问题上卡了很长时间,有人可以帮我解决这个问题吗?
非常感谢。
最佳答案
您可以通过以下方式获取正在运行的模拟的当前时间:
get_param('simulink_model_name', 'SimulationTime');
例如,在模拟过程中使用
检查 M 文件中的这个值timer(...)
您可以检测到模拟时间为 0.6 秒。
关于simulink - 从 M 文件控制 simulink,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15229349/