Simulink中Matlab功能块调用的sim命令的Simout输出

Simulink中Matlab功能块调用的sim命令的Simout输出,matlab,simulink,matlab-coder,Matlab,Simulink,Matlab Coder,我试图在根模型“outer.mdl”的一个时间步中模拟一个模型“inner.mdl”(几个时间步)。我想从Matlab函数块调用simout=sim(“inner.mdl”)。问题是:由于我使用的是Exterinsic sim(绕过代码生成),simout作为MxArray返回,因此我无法从中检索记录的信号。任何想法都将受到赞赏,无论是关于在模拟中进行模拟,还是使用我正在尝试的方法获取记录的信号 我这样做的主要原因是,作为控制器的一部分,我试图在未来的几步中模拟系统,以某种方式使用这些信息。我不

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


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

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


有关更多详细信息,请参见文档中的。

很难从您尝试执行的操作的一般描述中回答这样的问题。准确地展示你是如何做某事的,以及你是如何失败的,或者更具体一些。这样就不会有任何数据类型问题。