2015-12-21 68 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

相關問題