このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
シミュレーション モードの選択
シミュレーション モードのトレードオフ
一般に、ノーマル モードの代わりにアクセラレータ モードまたはラピッド アクセラレータ モードを選択する場合は、シミュレーション速度を柔軟性とトレードオフしなければなりません。
ノーマル モードではモデルの調整と結果の表示を最も効果的に行うことができますが、実行速度は最も遅くなります。
アクセラレータ モードは、パフォーマンスとモデルとの相互作用の点ではノーマル モードとラピッド アクセラレータ モードの中間にあります。アクセラレータ モードでは、大半の実行時の診断をサポートしていません。
ラピッド アクセラレータ モードは実行速度は最も速くなりますが、デバッガーまたはプロファイラーをサポートしておらず、モデル内のすべてのブロックで C コードまたは MEX ファイルを利用できるモデルのみに使用できます。
メモ
ただし、複数のシミュレーションを実行する場合は、上記のルールは適用されません。この場合、各シミュレーションはノーマル モードで 1 秒未満で実行されます。次に例を示します。
for i=1:100 sim(model); % executes in less than one second in Normal mode end
ヒント
さらに柔軟性を得るには、モデルをコンポーネント化するためのモデル参照の使用を検討してください。最上位モデルがノーマル モードを使用している場合、モデルの別の部分に使用しているシミュレーション モードとは異なるモードで参照モデルをシミュレーションできます。モデル開発過程では、モデルの異なる部分に異なるシミュレーション モードを選択できます。詳細については、モデルの階層構造内のシミュレーション モードの選択を参照してください。
モードの比較
次の表は、ノーマル モード、アクセラレータ モード、およびラピッド アクセラレータ モードの特性を比較したものです。
実行する操作 | 使用するモード | ||
---|---|---|---|
ノーマル | アクセラレータ | ラピッド アクセラレータ | |
パフォーマンス | |||
異なるアドレス空間でモデルを実行する | ![]() | ||
バッチとモンテカルロ シミュレーションを効果的に実行する | ![]() | ||
モデルの調整 | |||
ソルバーや終了時間などのモデル パラメーターをリビルドせずに変更する | ![]() | ![]() | ![]() |
ゲインのような調整可能なブロック パラメーターを変更する | ![]() | ![]() | ![]() |
リビルドすることなく変更できるコンフィギュレーション セット パラメーターについての詳細は、高速化されたモデルでのコードの再生成を参照してください。 | |||
モデルの要件 | |||
すべてのブロックに対して C コードまたは MEX ファイルが使用されていない場合でも、モデルを高速化する | ![]() | ||
Interpreted MATLAB Function ブロックをサポートする | ![]() | ![]() | |
インライン化されていない MATLAB 言語または Fortran S-Function をサポートする | ![]() | ![]() | |
モデル内で代数ループを許可する | ![]() | ![]() | |
モデルをデバッガーまたはプロファイラーと共に動作する | ![]() | ![]() | |
モデルに C++ コードを含ませる | ![]() | ![]() | |
データの表示 | |||
スコープと信号ビューアーを使用する | ![]() | ![]() | ラピッド アクセラレータ モードでのスコープとビューアーの動作を参照 |
モデルをプログラムによってシミュレートする場合に、スコープと信号ビューアーを使用する | ![]() | ![]() |
メモ
ラピッド アクセラレータ モードでモデルをプログラムによって実行する場合に、スコープとビューアーは更新されません。
決定木
次の決定木を使用して、アクセラレータ モードとラピッド アクセラレータ モードから選択します。
モデルのパフォーマンスの向上に対して高速化が果たす効果を理解するには、パフォーマンスの比較を参照してください。