シミュレーションの高速化
モデル更新のパフォーマンスの向上
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 つに減ります。
詳細については、大規模なモデリングでの専用チャート ライブラリの作成を参照してください。