2016-05-12 5 views
0

私は、MATLAB関数ブロックでsimコマンドを使用してPIDコントローラ(simulinkの別のモデル)を実行しようとしています。 しかし、それは長い反復がかかるように、MATLAB関数のブロックがより多くの時間を必要とするようです。matlab関数ブロックでsimを呼び出す方法

速い結果を得るには?

function [Kpp,Kii,Kdd] = fcn(u) 

coder.extrinsic('sim'); 
sim('ExternePID'); %call out to ExternePID model 

答えて

3

はそれをしないでください、動作しません。

はここでMATLAB Functionブロックでの私のコードです。代わりに、最上位のSimulinkモデルに2番目のSimulinkモデルをreferenced modelとして追加します。このようにして、両方のモデルを同時に実行できます。

+0

ありがとうございます@ am304の答えです。しかし、私は本当に理解していない...トップレベルで参照されているモデルを含む? – Hanif

+0

はい、モデルの参照の概要について提供されたリンクを見て、あなたはそのアイデアを得るでしょう。基本的には、モデルを別のモデルにカプセル化する方法です。 – am304

+0

すぐにお返事ありがとうございます。参照されたモデルを最初によく理解しようと思います。しかし、最初のモデルでループをプログラムして2番目のモデル(PID制御モデル)を1つの母集団サイズ内で繰り返します。 – Hanif

関連する問題