通过m-File执行Simulink模型并检索结果

poe*_*orn 0 matlab simulink

也许这可能是一个简单的问题,但在谷歌和搜索功能很长一段时间后,我没有找到以下问题的任何答案:

我有一个simulink模型需要一些输入参数.我希望这个模型在循环中执行,每次运行时都有不同的参数.我该怎么做呢?

我如何能够检索模型的输出,以便将它们用于m文件中的进一步操作?我有任何特殊的块可以将结果输出到我的m文件中吗?在这种情况下,simulink和matlab之间的桥梁在我看来非常不清楚......

有人可以帮我理解这个问题吗?

Edr*_*ric 5

首先,您需要使用sim命令(ref page,"使用sim命令"页面)来运行模型.

您需要在每次调用之前为模型设置参数sim.有多种方法可以做到这一点,但在最简单的情况下,你有一个带有参数的块,比方说N,你可能会这样做:

for ii = 1:3
   N = ii;
   simOut{ii} = sim( 'mymodel' );
end
Run Code Online (Sandbox Code Playgroud)

要在模拟结果结构(simOut)中显示内容,您应该添加根级出口块.

作为一个具体示例,请考虑标准演示模型vdp.这没有参数,但以下显示了如何捕获输出:

simOut = sim( 'vdp', 'SaveOutput', 'on' );
results = simOut.get( 'yout' );
Run Code Online (Sandbox Code Playgroud)