Using Simulink | ![]() ![]() |
表示
[t,x,y] = sim(model,timespan,options,ut); [t,x,y1, y2, ..., yn] = sim(model,timespan,options,ut);
詳細
sim
コマンドは、Simulinkモデルで表されるダイナミックシステムを実行します。
1番目の入力引数(モデル名)以外の入力引数は、空行列([])に設定できます。sim
コマンドは、空行列として指定された引数に対してはデフォルト値を適用します。sim
コマンドの options
引数を利用して、オプションのシミュレーションパラメータを設定できます。この方法で指定されたパラメータによって、モデルで指定されているパラメータが無効になります。
連続システムをシミュレーションする場合、simset
(simset
を参照) コマンドを使って solver
パラメータを指定しなければいけません。純粋な離散モデルに対しては、VariableStepDiscrete
ソルバが適用されます。
引数
t |
出力されるシミュレーションの時間ベクトル。 |
x |
出力されるシミュレーションの状態行列で、連続状態とそれに続く離散状態を含みます。 |
y |
出力されるシミュレーションの出力行列。各列にはポート番号順に、ルートレベルのOutportブロックからの出力が含まれます。いずれかのOutportブロックにベクトル入力がある場合、その出力は該当する数の列を必要とします。 |
y1,...,yn |
各 yi は、n個のルートレベルのOutportブロックを持つモデルに対して関連する出力ポートの出力値です。 |
model |
ブロック線図の名前 |
timespan |
シミュレーションの開始時間と終了時間。つぎのいずれか1つを指定します。tFinal 終了時間を指定します。開始時間は0です。[tStart tFinal] 開始時間と終了時間を指定します。[tStart OutputTimes tFinal] 開始時間と終了時間、および t に出力される時間列を指定します。一般に t は、より多くの時間列を含みます。OutputTimes は、ダイアログボックスで Produce additional output を選択するのと等価です。 |
options |
simset コマンドで作成される構造体として指定した、オプションのシミュレーションパラメータ(simset を参照)。 |
ut |
トップレベルのInportブロックに対するオプションの外部入力。ut は各時間ステップでの入力 u = UT(t) を指定する(文字列として表現された)MATLAB関数、もしくは、全ての入力ポートに対する入力値 vs. 時間のテーブル、もしくは、指定した各々のポートに関連するコンマで区切られたテーブルのリスト ut1 , ut2 , ..., です。全てのポートに対するテーブル入力は、MATLAB行列や構造体です。個々のポートに対するテーブル入力は、構造体でなければいけません。行列入力や構造体入力に関する詳細は、ベースワークスペースからの入力の読み込みを参照してください。 |
例題
つぎのコマンドは、Simulinkモデル vdp
を使って、Van der Polの方程式をシミュレーションします。ここでは、全てのパラメータはデフォルト値を利用します。
[t,x,y] = sim('vdp')
つぎのコマンドは、Refine
パラメータに対する値を定義し、その他は vdp
モデルに関連付けられたパラメータ値を利用してVan der Pol方程式をシミュレーションします。
[t,x,y] = sim('vdp', [], simset('Refine',2));
つぎのコマンドは、1,000秒間Van der Pol方程式をシミュレーションし、最後の100行の出力変数を保存します。シミュレーションは、tとyのみに対して値を出力しますが、xFinal
と呼ばれる変数に最終の状態ベクトルを保存します。
[t,x,y] = sim('vdp', 1000, simset('MaxRows', 100, 'OutputVariables', 'ty', 'FinalStateName', 'xFinal'));
参考
![]() | Simulink AcceleratorでのS-ファンクション実行の制御 | simplot | ![]() |