ソルバー プロファイラーを使用したモデル ダイナミクスの確認
モデルのシミュレーション速度が低下したり応答が停止したりした場合は、モデルのダイナミクスを詳細に調べることでシミュレーションに影響している要因を特定しやすくなります。
ソルバーの動作を理解すると、モデルのシミュレーション方法やソルバーが小さいステップを取る原因を解析できるようになります。
ソルバー プロファイラーは、モデルを解析し、そのシミュレーションに影響するパターンを調べます。ソルバー プロファイラーはシミュレーション、ソルバー設定、イベント、エラーに関するグラフィカルで統計的な情報を表示します。このデータを使用してシミュレーションのボトルネックの原因となった箇所をモデル内で特定できます。
さらに、シミュレーションの速度を制限する可能性がある要因は複数あります。ソルバー プロファイラーは、モデルのシミュレーション中に発生するすべての主要なイベントを記録し、レポートします。
ゼロクロッシング イベント
ソルバーの例外イベント
ソルバーのリセット イベント
ヤコビアン計算イベント
メモ
ソルバーのパフォーマンスを正確にプロファイリングするため、ソルバー プロファイラーは、モデルのログ設定の一部を一時的に変更することがあります。設定はプロファイル完了後に復元されます。
これらのイベントは一般的であり、正確なシミュレーションに必要です。ただし、これらによって計算コストが発生し、頻繁に発生することで処理が遅くなったり、シミュレーションが失速することもあります。
モデル ダイナミクスを調べてシミュレーションに影響する原因を特定するには、次のようにします。
シミュレーションが遅いまたはシミュレーションが正常に実行されないモデルを開きます。たとえば、
BouncingBallWithSwitch
モデルを開きます。Simulink® エディターの右下隅にあるハイパーリンクをクリックして、ソルバー プロファイラーを開きます。
ソルバー プロファイラーには、スマート ログおよび連続モデル状態と Simscape™ 状態の診断が備わっています。これを有効にするには、実行前に [連続状態]、[ゼロクロッシング]、または [SimScape の状態] オプションをオンにします。メモリが不足している場合にのみこれらのオプションを無効にします。実行後、状態エクスプローラー、ゼロクロッシング エクスプローラー、または Simscape エクスプローラーにアクセスしてこれらの状態を確認します。
[実行] をクリックします。プロファイラーはモデルをシミュレートし、ソルバーのパフォーマンス データの取得を開始します。
シミュレーションが終了すると、シミュレーションの期間全体にわたって取得した統計と例外がプロファイラーに表示されます。
ヒント
特定の時点までに取得した情報を表示するために、いつでもシミュレーションを一時停止または停止できます。
プロファイラー プロットを使用して、ほとんどのイベントを生成する原因となったモデルの部分を強調表示します。
[保存] をクリックしてプロファイル セッションを取得するか、保存せずに終了します。
参考
ソルバー プロファイラー | ゼロクロッシング エクスプローラー | 状態エクスプローラー | solverprofiler.profileModel