このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
ソルバー プロファイラー
ソルバー性能のボトルネックを特定します。
説明
ソルバー プロファイラーを使用して、ソルバーとモデルの動作を調査し、シミュレーション性能を低下させる可能性のある問題を特定します。
ソルバー プロファイラーを使用して、モデルを解析し、そのシミュレーションに影響するパターンを調べます。ソルバー プロファイラーはシミュレーション、ソルバー設定、イベント、エラーに関するグラフィカルで統計的な情報を表示します。このデータを使用してシミュレーションのボトルネックの原因となった箇所をモデル内で特定できます。
さらに、シミュレーションの速度を制限する可能性がある要因は複数あります。ソルバー プロファイラーは、モデルのシミュレーション中に発生するすべての主要なイベントを記録し、レポートします。
ゼロクロッシング イベント
ソルバーの例外イベント
ソルバーのリセット イベント
ヤコビアン計算イベント
これらのイベントは一般的であり、正確なシミュレーションに必要です。ただし、これらによって計算コストが発生し、頻繁に発生することで処理が遅くなったり、シミュレーションが失速することもあります。
その他
使用可能なアクション
トレース
構成
探索
情報ペイン
統計
ステップ サイズ
提案
ソルバー プロファイラー を開く
Simulink® ツールストリップ: [デバッグ] タブにある [パフォーマンス] セクションで [パフォーマンス] ボタンの矢印をクリックし、[ソルバー プロファイラー] を選択します。
[ソルバー情報] メニュー: [ソルバー情報] メニューを開くには、Simulink エディターの下部のステータス バーの右にあるハイパーリンクをクリックします。その後、[ソルバー プロファイラー] をクリックします。
例
ゼロクロッシング イベントのソースの特定
例を開きます。この例には BouncingBallWithSwitch
という名前のモデルが含まれています。
ソルバー プロファイラーを開きます。Simulink® ツールストリップの [デバッグ] タブにある [パフォーマンス] セクションで [パフォーマンス] ボタンの矢印をクリックし、[ソルバー プロファイラー] を選択します。
プロファイリング シミュレーションを実行するには、ソルバー プロファイラーで [実行] をクリックします。ソルバー プロファイラーで、プロファイリング シミュレーション中に発生するソルバー イベントについての情報が収集されます。シミュレーションが完了すると、ソルバー プロファイラーの [統計] ペインに情報が表示され、シミュレーションの各ステップで計算されたステップ サイズのプロットが表示されます。
[統計] ペインを下にスクロールしてイベントの情報を確認します。シミュレーション中に 1 つのソースから 45 件のゼロクロッシング イベントが発生したことがわかります。
ゼロクロッシング イベントのソースに関する情報を表示するには、[ゼロクロッシング] タブを選択します。ゼロクロッシング イベントは Switch ブロックから発生しています。
ステップ サイズのプロットにゼロクロッシング イベントの注釈を付けるには、[統計] ペインで [ゼロクロッシングの総数] 行の値をクリックします。ゼロクロッシングが発生したそれぞれの時点が黄色の点で示されます。ゼロクロッシングが発生した時点でステップ サイズが大幅に減少しています。
ゼロクロッシングを発生させた Switch ブロックをブロック線図で強調表示するには、[ゼロクロッシング] タブでブロック パスを選択します。その後、[トレース] セクションで [ブロックを強調表示] をクリックします。
関連する例
パラメーター
開始
— プロファイラーの開始時間
モデルの開始時間 (既定値) | スカラー
プロファイラーがモデルの解析を開始するシミュレーションの時間 (秒単位)。これは、シミュレーションの開始時間と同じではありません。
終了
— プロファイラーの終了時間
モデルの終了時間 (既定値) | スカラー
プロファイラーがモデルをプロファイリングするシミュレーションの時間 (秒単位)。既定では、シミュレーションが終了するまで解析は続行します。このパラメーターを変更しても、[モデル コンフィギュレーション パラメーター] で指定するモデルの終了時間は変わりません。
値がモデルの設定された終了時間より小さいと、StopTime
でプロファイリングとシミュレーションが停止します。
バッファー
— ログ記録のメモリへの影響
50000 (既定値) | 正のスカラー
ログに記録されるイベントの最大数。ログに記録されるイベントの数がこの値に達してもメモリが利用可能である場合は、BufferSize
を増やします。メモリに制限がある場合、この値を減らすことを検討します。
連続状態
— モデルの状態をファイルに保存
オフ (既定値) | オン
既定では、プロファイラーはモデルの状態を保存しません。このパラメーターを有効にすると、プロファイラーが状態をプロファイラー データの MAT ファイルに保存するように設定されます。
このパラメーターを選択すると、状態エクスプローラーが有効になります。
Simscape の状態
— Simscape™ の状態をファイルに保存
オフ (既定値) | オン
Simscape の状態をプロファイラー データの MAT ファイルに保存するには、このパラメーターを有効にします。
このパラメーターを選択すると、Simscape エクスプローラーが有効になります。
ゼロクロッシング
— ゼロクロッシング データをファイルに保存
オフ (既定値) | オン
ゼロクロッシング情報をプロファイラー データの MAT ファイルに保存するには、このパラメーターを有効にします。
このパラメーターを選択すると、ゼロクロッシング エクスプローラーが有効になります。
モデルのヤコビアン
— モデルのヤコビアンでの保存
オフ (既定値) | オン
ソルバーのヤコビ行列をメモリに記録するオプションです。このオプションは、陰的なソルバーを使用するシミュレーションに役立ちます。ソルバーの比較については、ソルバーの比較を参照してください。
ソルバーのヤコビアンの詳細については、陰的なソルバーに対するヤコビ メソッドの選択を参照してください。
Simscape の剛性
— Simscape の状態に関するスティッフの解析を記録
配列
Simscape の状態に関するスティッフの解析を記録します。配列として指定します。このパラメーターは、[Simscape の剛性] の状態をプロファイラー データの MAT ファイルに記録する時間点の配列を提供します。このパラメーターを有効にすると、提案ペインに [Simscape の剛性] タブが表示されます。
Simscape の状態に関するスティッフの解析をプロファイラー データの MAT ファイルに記録するには、このパラメーターを有効にします。スティッフおよびその他の物理系の概念の Simscape 表現の詳細については、Simscape モデルによる物理システムの表現 (Simscape)を参照してください。
ルールのカスタマイズ
— プロファイラー ルールのしきい値の変更
オフ (既定値) | オン
ソルバー プロファイラーで [ルールのカスタマイズ] をクリックし、ルール セットにアクセスします。これらのルールのほとんどのしきい値を変更し、シミュレーションの実行中に選択的に適用するルールを選択することもできます。
ルールを変更するには、カスタマイズを有効にしてから、希望するしきい値を入力します。
カスタム ルール セット
カスタム ルール セットを指定して、[Rule Set] ダイアログ ボックスの設定をオーバーライドできます。
ルール セットを MATLAB® スクリプトとして作成し、[Rule Set] ダイアログ ボックスの [カスタム ルール セット] セクションでスクリプトのパスを指定します。
単純なルール セット例は以下のようになります。
function diagnosticsString = customRule(profilerData) if isempty(profilerData.zcEvents) diagnosticsString{1} = 'No zero crossing event detected.'; else diagnosticsString{1} = 'Zero-crossing events detected.'; end end
profilerData
と呼ばれる構造体の配列です。この構造体の配列はプロファイリングの実行中にソルバー プロファイラーが収集するすべての情報を整理します。これには、以下のサブ構造体が含まれます。
サブ構造体 | フィールド |
---|---|
stateInfo :ブロック状態に関する情報を格納 |
|
blockInfo :ブロックおよび状態 ID の相互参照 |
|
zcSrcInfo :ゼロクロッシング イベントを発生させるブロックに関する情報を格納 |
|
zcEvents :ゼロクロッシング イベントのタイム スタンプと対応する状態 ID の相互参照 |
|
exceptionEvents :例外イベントのタイムスタンプ、イベントの原因となった対応する状態の ID およびその原因の相互参照 |
|
resetTime :ソルバー リセットのタイムスタンプを格納 | なし |
tout :シミュレーション時間を格納 | なし |
ソルバーの例外
— ソルバーの例外イベントを表示
オフ (既定値) | オン
ソルバー プロファイラーの [ステップ サイズ] プロットでソルバーの例外イベントを強調表示するには、このパラメーターを有効にします。
ソルバーのリセット
— ソルバーのリセット イベントを表示
オフ (既定値) | オン
ソルバー プロファイラーの [ステップ サイズ] プロットでソルバーのリセット イベントを強調表示するには、このパラメーターを有効にします。
ヤコビアンの更新
— ヤコビアンの更新イベントを表示
オフ (既定値) | オン
ソルバー プロファイラーの [ステップ サイズ] プロットでヤコビアンの更新イベントを強調表示するには、このパラメーターを有効にします。
ゼロクロッシング
— ゼロクロッシング イベントを表示
オフ (既定値) | オン
ソルバー プロファイラーの [ステップ サイズ] プロットでゼロクロッシング イベントを強調表示するには、このパラメーターを有効にします。
ヒント
シミュレーションのパフォーマンスを解析して向上させる際には、パフォーマンス アドバイザーを使用してモデルおよびシミュレーションの構成を解析することから解析を開始することを検討してください。
パフォーマンス アドバイザーを使用してモデルおよびシミュレーションの構成を解析した後には、ソルバー プロファイラーおよび Simulink プロファイラーを使用したプロファイリング シミュレーションによって解析を深めることができます。
ソルバー プロファイラーはモデルに対して選択したソルバーのパフォーマンスを解析します。ソルバー プロファイラーは、可変ステップ ソルバーを使用するシミュレーションのパフォーマンスを解析するのに特に役立ちます。プロファイリングの結果は、ステップ サイズがいつどうして制限されているのかを特定するのに役立ちます。
Simulink プロファイラーは、モデル コンポーネント間でのシミュレーション実行時間の分布を解析することで、シミュレーションのパフォーマンスのボトルネックを特定するのに役立ちます。
バージョン履歴
R2016a で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)