0

我试图在根模型“outer.mdl”的一个时间步中模拟模型“inner.mdl”(几个时间步)。我想从 Matlab 功能块调用 simout = sim("inner.mdl") 。问题是:由于我使用的是外部 sim(绕过代码生成),simout 作为 MxArray 返回,我无法从中检索记录的信号。任何想法都会受到赞赏,无论它们是关于在模拟中进行模拟还是使用我正在尝试的方法获取记录的信号。

我这样做的主要原因是,作为控制器的一部分,我试图在未来提前几步模拟系统,以便以某种方式使用该信息。我不想把我的控制器变成代码,即使我摆脱了与仿真时间相关的块,我也不知道如何在整个模型不及时向前移动的情况下运行一个块。

4

1 回答 1

1

通常,如果0在调用返回此变量的外部函数之前将变量初始化为或等效,则该变量将是 double 类型,而不是 MxArray。不确定这是否适用simout,因为我似乎记得那simout是一个结构。还是值得一试的。

有关更多详细信息,请参阅文档中的使用 mxArrays

于 2014-05-21T08:22:02.310 回答