2015-12-21 67 views
-1

是否存在sim()命令的替代函数或直接执行Simulink模型/ Matlab的编译版本的直接方式,而无需设置coder.extrinsic?在Matlab中没有coder.extrinsic的情况下使用Sim()命令

我想在一个迭代的Matlab函数内执行一个simulink模型。 (因此,速度显着)。使用的Simulink模型包含一个Dymola接口,因此我无法直接在Matlab中对其进行建模。另一个主要的Simulink模型启动并迭代Matlab函数,因此,模拟它会导致编码器试图有效地进行编译。通过设置coder.extrinsic,我当然可以使用sim命令,但它的目的太慢了。我想过编译Simulink模型作为替代,但不知道这是否会是一个很好的办法

结构如下所示:

Simulink的主力机型 - > MATLAB功能 - > Simulink模型

回答

1

sim命令需要MATLAB。所以你需要coder.extrinsic。没有coder.extrinsic来模拟模型,没有直接的替代方法。您可以从模型生成代码并使用coder.ceval函数调用生成代码。但是如果你的目标只是为了获得更多的速度,而不是获得独立的代码,你可以设置你的模型在加速器模式下运行,看看它是否会提高速度。

+1

使用快速加速器模式,而不是加速器模式。快速加速器模式创建了一个独立的可执行文件,它捆绑了求解器和模型,这是执行最快的方法。 – Daniel

相关问题