simulink - 从 M 文件控制 simulink

标签 simulink matlab

我正在尝试从 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/

相关文章:

c - 用于 Direct FeedThrough 的 Matlab simulink c 函数显示意外结果

c++ - SIMULINK 模型的 C/C++ 包装器

matlab - 为什么如果我在输出上放置滤波器,我会修改源信号?这是一个 simulink 错误吗?

matlab - 如何在 MATLAB 中连接多维数组?

matlab - 设计一个简单的矩阵来对矩阵中的值进行分组

Matlab, Simulink, Making connection between multiple simulink models via Lan

MATLAB/Simulink - 以编程方式提供多个外部输入

string - Matlab Coder - strcat 函数的替代方案

Matlab - 周围元素的总和

使用 Matlab Coder 将 C char 数组转换为 Matlab 字符串