Simulink プロファイラーを使用したシミュレーション実行の解析
この例では、Simulink プロファイラーを使用して、シミュレーションでモデル slAccelDemoF14
の実行を調べる方法を示します。Simulink プロファイラーを使用して、モデル内のパフォーマンスのボトルネックを特定して除去したり、ブロックとモデルのパラメーターを変更した場合のシミュレーション実行への影響を解析したりします。
潜在的なパフォーマンスの問題がないかモデルとシミュレーションのコンフィギュレーション設定を解析するには、パフォーマンス アドバイザーを使用します。パフォーマンス アドバイザーは、パフォーマンスを向上させる可能性のある特定の変更に関する推奨を生成し、各変更を自動的に適用して、パフォーマンスが向上したかどうかを検証できます。詳細については、パフォーマンス アドバイザーを使用したシミュレーション パフォーマンスの改善を参照してください。
アクセラレータおよびラピッド アクセラレータのシミュレーションの詳細については、アクセラレーションとはを参照してください。
モデル例を開く
例を開きます。この例にはモデル slAccelDemoF14
が含まれています。
Simulink プロファイラーを使用してモデルをプロファイリングするには、プロファイリング シミュレーションを実行します。プロファイリング シミュレーションは、シミュレーションの実行に関する情報を測定してログに記録します。追加の監視とログにより、通常のシミュレーションと比較してパフォーマンスのオーバーヘッドが生じるため、Simulink エディターで Simulink プロファイラーを使用するか、シミュレーションに対して Simulink プロファイラーをプログラムによって有効にして、プロファイリング シミュレーションを実行する必要があります。
Simulink エディターでの Simulink プロファイラーを使用したモデルの解析
Simulink エディターで Simulink プロファイラーを開くには、Simulink® ツールストリップの [デバッグ] タブで [パフォーマンス] ボタンの矢印をクリックし、[Simulink プロファイラー] を選択します。
プロファイリング シミュレーションを実行するには、Simulink プロファイラーの [プロファイル] タブで [プロファイル] をクリックします。
プロファイリング シミュレーションが完了すると、[プロファイラー レポート] ペインにプロファイリング結果が表示されます。既定では、[プロファイラー レポート] ペインにはモデルの階層構造ビューを使用して結果が表示され、すべてのノードが折りたたまれており、最上位モデルの結果のみが表示されます。結果を展開して詳細な情報を表示するには、表内のモデル slAccelDemoF14
の行の横にある矢印 (>
) をクリックします。次に、表内の行を選択して、プロパティ インスペクターでそのモデル要素の詳細なプロファイリング結果を表示します。
Simulink プロファイラーを使用して生成したプロファイリング レポートを HTML ファイルまたは MAT ファイルとして保存することで、他のユーザーに共有できます。プロファイリング レポートを保存するには、次を行います。
[プロファイラー レポート] ペインの [実行] リストから、保存するプロファイリング レポートを選択します。
[プロファイル] タブの [結果] セクションで、[共有] をクリックします。次に、HTML レポートを生成するのか、プロファイリング結果を MAT ファイルにエクスポートするのかを選択します。
Simulink プロファイラーを使用したプログラムによるモデルの解析
Simulink プロファイラーをプログラムによって使用してモデルを解析することもできます。
モデルをプログラムで開くか読み込むには、関数 open_system
または load_system
を使用します。
mdl = "slAccelDemoF14"; open_system(mdl) set_param(mdl,Profile="on")
Simulink プロファイラーをプログラムによって有効にする場合は、以下が可能です。
関数
set_param
を使用して、モデルのProfile
パラメーターを有効にする。Simulink プロファイラーは、Profile
パラメーターを無効にするまで、シミュレーションに対して有効なままになります。関数
sim
の名前と値の引数としてパラメーターを指定するか、SimulationInput
オブジェクトでパラメーターを設定するか、Simulation
オブジェクトでパラメーターを設定することで、特定のシミュレーションに対してProfile
パラメーターを有効にする。
次の例では、関数 sim
の名前と値の引数として Profile
パラメーターを指定して、プロファイリング シミュレーションを実行します。
out = sim(mdl,Profile="on");
プロファイリング情報は、シミュレーション メタデータに Simulink.profiler.Data
オブジェクトとして保存されます。すべてのシミュレーション結果とメタデータを含む Simulink.SimulationOutput
オブジェクトからプロファイリング結果を取得します。
profresults = out.SimulationMetadata.TimingInfo.ProfilerData;
プロファイリング結果を MAT ファイルに保存するには、save
関数を使用します。
save("SimulinkProfilerResults.mat","profresults")
プロファイリング結果を HTML レポートとして保存するには、関数 generateReport
を使用します。HTML レポートは、プロファイリング シミュレーションの実行時間とモデルの名前を含む名前で現在の作業ディレクトリに保存されます。
generateReport(profresults)
[プロファイラー レポート] ペインとプロパティ インスペクターを使用して結果を解析するには、次を行います。
プロファイリング結果を MAT ファイルに保存します。
Simulink プロファイラーを開きます。
[プロファイル] タブで [以前の内容を読み込む] をクリックします。
プロファイリング結果が含まれている MAT ファイルを選択します。
[OK] をクリックします。
[プロファイラー レポート] ペインに、MAT ファイルからのプロファイリング結果が表示されます。