ソルバー プロファイラー
ソルバー性能のボトルネックを特定します。
ソルバー プロファイラー を開く
Simulink® エディターの右下隅にあるハイパーリンクをクリックして、ソルバー プロファイラーを開きます。
パラメーター
設定開始
— プロファイラーの開始時間
モデルの開始時間 (既定値) | スカラー
プロファイラーがモデルの解析を開始するシミュレーションの時間 (秒単位)。これは、シミュレーションの開始時間と同じではありません。
終了
— プロファイラーの終了時間
モデルの終了時間 (既定値) | スカラー
プロファイラーがモデルをプロファイリングするシミュレーションの時間 (秒単位)。既定では、シミュレーションが終了するまで解析は続行します。このパラメーターを変更しても、[モデル コンフィギュレーション パラメーター] で指定するモデルの終了時間は変わりません。
値がモデルの設定された終了時間より小さいと、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 :シミュレーション時間を格納 | なし |
ソルバーの例外
— ソルバーの例外イベントを表示
オフ (既定値) | オン
ソルバー プロファイラーの [ステップ サイズ] プロットでソルバーの例外イベントを強調表示するには、このパラメーターを有効にします。
ソルバーのリセット
— ソルバーのリセット イベントを表示
オフ (既定値) | オン
ソルバー プロファイラーの [ステップ サイズ] プロットでソルバーのリセット イベントを強調表示するには、このパラメーターを有効にします。
ヤコビアンの更新
— ヤコビアンの更新イベントを表示
オフ (既定値) | オン
ソルバー プロファイラーの [ステップ サイズ] プロットでヤコビアンの更新イベントを強調表示するには、このパラメーターを有効にします。
ゼロクロッシング
— ゼロクロッシング イベントを表示
オフ (既定値) | オン
ソルバー プロファイラーの [ステップ サイズ] プロットでゼロクロッシング イベントを強調表示するには、このパラメーターを有効にします。
バージョン履歴
R2016a で導入