model
モデルのシミュレーションの特定のフェーズを実行
構文
[sys,x0,str,ts] = model([],[],[],'sizes'); [sys,x0,str,ts] = model([],[],[],'compile'); outputs = model(t,x,u,'outputs'); derivs = model(t,x,u,'derivs'); dstates = model(t,x,u,'update'); model([],[],[],'term');
説明
model
コマンドは、model
という名前の Simulink® モデルのシミュレーションの特定のフェーズを実行します。コマンドの最後の引数 (flag
) は、実行すべきシミュレーションのフェーズを指定します。モデルをシミュレーションする際に Simulink が使用する手順の詳細は、動的システムのシミュレーションの段階を参照してください。
このコマンドは、状態遷移および条件付き実行の影響を無視します。したがって、このようなロジックをもつモデルには適していません。1 つの動的システムとして表されるモデルに、このコマンドを使用します。このようなシステムは、以下の要件を満たす必要があります。
モデル内のすべての状態は、組み込みの非バス データ型でなければなりません。組み込みデータ型の詳細については、Simulink におけるデータ型についてを参照してください。
状態の指定にベクトル形式を使用している場合、このコマンドでアクセスできるのは
double
データ型の非複素数状態のみになります。最小限のステート ロジック (Stateflow、条件付きで実行されるサブシステムなど) が存在します。
モデルは混在領域モデルではありません。つまり、モデル内のほとんどのブロックは組み込みの Simulink ブロックで、ユーザーが作成した S-Function や他の Sim* 製品からのブロックを含まないということです。
これらの要件を満たさないモデルの場合、このコマンドを使用すると、Simulink はモデルのより詳細な解析と簡略化を行うことによってのみ解釈可能な結果が生成されることがあります。
メモ
状態変数 x
は構造体形式およびベクトル形式で表すことができます。変数は、指定された形式の制限に従います。
またこのコマンドは、モデルをステップ実行しながらデバッグなどを行うようには作られていません。モデルをデバッグする際に中間的な結果をチェックする必要がある場合は、Simulink デバッガーを使用してください。
引数
| モデル サイズ データのベクトル
|
| システムの状態の初期条件を含むベクトル |
| モデルの状態に関連付けられたブロックの名前のベクトル。状態の名前と初期条件は、それぞれ、 |
| マイナー ステップ内の連続、離散、固定のサンプル時間 (周期、オフセット) 情報、およびモデル内の制御可能なサンプル時間を含む |
outputs | タイム ステップ |
derivs | 時刻 |
dstates | 時間
|
| タイム ステップ。スカラー形式の実数の double として指定します。 |
| 状態ベクトル。構造体またはベクトル形式の実数の double として指定します。 |
| 入力。ベクトル形式の実数の double として指定します。 |
| 実行するシミュレーション フェーズの仕様:
メモ
|
例
次のコマンドは、Simulink に添付されている vdp
モデルのコンパイル フェーズを実行します。
vdp([], [], [], 'compile')
次のコマンドは、前の例で開始したシミュレーションを終了します。
vdp([], [], [], 'term')
メモ:
Simulink では、コンパイルまたはシミュレーション中にモデルが閉じません。'sizes'
フェーズ以外のすべてのフェーズで、モデルを閉じる前に、'term'
引数を使用してモデル コマンドを呼び出さなければなりません。