Main Content

シミュレーションの高速化

モデル更新のパフォーマンスの向上

Stateflow® は、Simulink® モデルのほとんどのチャートについて、モデル更新のパフォーマンスを向上させるために Just-In-Time (JIT) コンパイル モードを使用します。Stateflow は条件を満たすチャートに対し JIT モードを適用します。JIT モードのチャートについて、Stateflow はメモリ内にシミュレーション用の実行エンジンを生成します。これらのチャートでは、Stateflow はチャートのシミュレーションを行うための C コードまたは MEX ファイルを生成しません。JIT モードはモデルのコンパイルの際、最良のパフォーマンスを提供します。

信号のログを含むチャートなど、一部のチャートは JIT モードの条件を満たしません。

Stateflow モデルにはシミュレーションのデバッグ サポートが含まれています。最適なパフォーマンスを得るには、次のコマンドを使ってデバッグをオフにしてください。

sfc("coder_options",forceDebugOff=true);

このコマンドを実行すると、Stateflow チャートにはデバッグのサポートやランタイム エラー チェックがなくなります。

メモ

デバッグをオフにすると、アニメーションもオフになります。

実行速度に影響を与えるシミュレーション ターゲット パラメーターの無効化

モデルをより高速でシミュレートするには、[コンフィギュレーション パラメーター] ダイアログ ボックスを開き、[シミュレーション ターゲット] ペインの [詳細設定パラメーター] で以下のパラメーターのチェック ボックスをオフにします。

  • セミコロンなしの式をエコー — 末尾にセミコロンが含まれていないアクションなど、MATLAB® コマンド ウィンドウでの実行時出力を無効にするには、このチェック ボックスをオフにします。セミコロンなしの式をエコー (Simulink)を参照してください。

  • Ctrl+C で中断 — 長時間の実行を Ctrl + C を使って中断する機能を無効にするには、このチェック ボックスをオフにします。Ctrl+C で中断 (Simulink)を参照してください。

シミュレーションの高速化

シミュレーションをさらに高速化するには以下のヒントを使用します。

チャートを閉じたままにする

モデルのシミュレーション中、アニメーションが有効になっている開いたままのチャートがあると、シミュレーションに要する時間が長くなります。すべてのチャートを閉じたままにすると、シミュレーションの実行はより速くなります。

コンテンツ プレビューを無効にする

モデルのシミュレーション中、コンテンツ プレビューが有効になっている開いたままのチャートがあると、シミュレーションに要する時間が長くなります。コンテンツ プレビューを無効にすると、シミュレーションの実行がさらに速くなります。コンテンツ プレビューを無効にするには、コンテンツ プレビューが有効にされているチャートを選択します。[ステート チャート] タブで、[コンテンツ プレビュー] をクリックします。

Scope ブロックを閉じたままにする

モデルのシミュレーション中、開かれている Scope ブロックの表示は絶えず更新され続けます。すべての Scope ブロックを閉じたままにしておくと、シミュレーション速度を上げられます。シミュレーションの終了後、Scope ブロックを開いて結果を表示できます。

モデルでのライブラリ チャートの使用

モデルに JIT モードを使用しないチャートが複数含まれ、また同一の要素が含まれる場合、同一のシミュレーション コードのコピーが複数生成されることになります。ライブラリ チャートを使うことにより、同一のシミュレーション コードの生成を最小限に抑えることができます。たとえば、5 つのライブラリ チャートを使用すると、同一のコピーは 5 つから 1 つに減ります。

詳細については、大規模なモデリングでの専用チャート ライブラリの作成を参照してください。

関連するトピック