メインコンテンツ

ソルバー プロファイラーを使用したモデル ダイナミクスの確認

モデルのシミュレーション速度が低下したり応答が停止したりした場合は、モデルのダイナミクスを詳細に調べることでシミュレーションに影響している要因を特定しやすくなります。

ソルバーの動作を理解すると、モデルのシミュレーション方法やソルバーが小さいステップを取る原因を解析できるようになります。

ソルバー プロファイラーは、モデルを解析し、そのシミュレーションに影響するパターンを調べます。ソルバー プロファイラーはシミュレーション、ソルバー設定、イベント、エラーに関するグラフィカルで統計的な情報を表示します。このデータを使用して、シミュレーションのボトルネックを引き起こしているブロックを特定できます。

さらに、シミュレーションの速度を制限する可能性がある要因は複数あります。ソルバー プロファイラーは、モデルのシミュレーション中に発生するすべての主要なイベントを記録し、レポートします。

  • ゼロクロッシング イベント

  • ソルバーの例外イベント

  • ソルバーのリセット イベント

  • ヤコビアン計算イベント

これらのイベントはシミュレーションの忠実度を向上させる可能性がありますが、計算コストの増加にもつながります。ソルバー プロファイラーを使用して、忠実度とパフォーマンスの許容可能なバランスを見つけることができます。パフォーマンスに影響するものの、忠実度に大きく寄与しないブロックについては、簡略化または置き換えを検討してください。

メモ

ソルバーのパフォーマンスを正確にプロファイリングするため、ソルバー プロファイラーは、モデルのログ設定の一部を一時的に変更することがあります。ソルバー プロファイラーは、プロファイルが完了すると設定を復元します。

モデル ダイナミクスを調べてシミュレーションに影響する原因を特定するには、次のようにします。

  1. シミュレーションが遅いまたはシミュレーションが正常に実行されないモデルを開きます。たとえば、BouncingBallWithSwitch モデルを開きます。

    BouncingBallWithSwitch Simulink model.

  2. Simulink® エディターの右下隅にあるハイパーリンクをクリックして、ソルバー プロファイラーを開きます。

    Solver information pane showing Solver Profiler button.

  3. ソルバー プロファイラーには、スマート ログおよび連続モデル状態と Simscape™ 状態の診断が備わっています。これを有効にするには、実行前に [連続状態][ゼロクロッシング]、または [SimScape の状態] オプションをオンにします。メモリが不足している場合にのみこれらのオプションを無効にします。実行後、状態エクスプローラー、ゼロクロッシング エクスプローラー、または Simscape エクスプローラーにアクセスしてこれらの状態を確認します。

  4. [実行] をクリックします。プロファイラーはモデルをシミュレートし、ソルバーのパフォーマンス データの取得を開始します。

    シミュレーションが終了すると、シミュレーションの期間全体にわたって取得した統計と例外がプロファイラーに表示されます。

    Solver Profiler window with the Solver Exception tab selected.

    ヒント

    特定の時点までに取得した情報を表示するために、いつでもシミュレーションを一時停止または停止できます。

  5. プロファイラー プロットを使用して、最も多くのイベントを生成するモデルの部分を強調表示します。

  6. [保存] をクリックしてプロファイル セッションを取得するか、保存せずに終了します。

参考

| | |