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

时间:2011-02-28 09:13:27

标签: matlab simulink

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

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

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

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

1 个答案:

答案 0 :(得分:5)

首先,您需要使用sim命令(ref page"using sim command" page)来运行模型。

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

for ii = 1:3
   N = ii;
   simOut{ii} = sim( 'mymodel' );
end

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

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

simOut = sim( 'vdp', 'SaveOutput', 'on' );
results = simOut.get( 'yout' );