ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

ソルバー

動的システムは、指定された時間範囲における連続タイム ステップのそれぞれの状態量を計算することにより、シミュレートされます。この計算では、システムのモデルにより提供された情報を使用します。タイム ステップは、計算が生じる時間の間の隔たりです。この時間間隔のサイズを "ステップ サイズ" と呼びます。この方法でモデルの状態を計算するプロセスはモデルの解決として知られています。モデルを解く 1 つの方法がすべてのシステムに適用されるわけではありません。Simulink® には、"ソルバー" と呼ばれる一連のプログラムがあります。各ソルバーはモデルを解くための特定のアプローチを表します。

ソルバーは数値的手法によって、モデルを表す一連の常微分方程式を解きます。この計算により、ソルバーは次のシミュレーション ステップの時間を判断します。この初期値の問題を解決するプロセスにおいて、ソルバーは指定された精度要件も満たします。

ソルバーは次の基準を使用しておおまかに分類されます。

  • 計算に使用されるステップ サイズのタイプ

    • 固定ステップ ソルバーでは、シミュレーションの開始から終了までのステップ サイズに対してモデルを解きます。ステップのサイズは指定することもソルバーに選択させることもできます。一般に、ステップ サイズを小さくすると結果の精度は向上しますが、システムのシミュレーションに要する時間が長くなります。

    • 可変ステップ ソルバーでは、シミュレーション中にステップ サイズが変化します。この種のものは、モデルの状態がすばやく変化する場合やゼロクロッシング イベント中にステップ サイズを小さくして精度を上げます。モデルの状態がゆっくり変化する場合は、ステップ サイズを大きくして不要なステップの実行を避けます。ステップ サイズの計算は、各ステップで計算のオーバーヘッドに加えられます。ただし、ステップの総数を減らすことができ、それによって、区分的連続状態または急激に変化する状態をもつモデルについて、指定したレベルの精度を維持するために必要なシミュレーション時間を減らせます。

  • モデルの状態の性質

    • 連続ソルバーは、数値積分を使って前のタイム ステップにおける状態と状態導関数から、現在のタイム ステップにおけるモデルの連続状態量を計算します。連続ソルバーは、個々のブロックに基づいて各タイム ステップにおけるモデルの離散状態量の値を計算します。

    • 離散ソルバーは主に純粋な離散モデルに使われます。モデルについて、すぐ次のシミュレーション タイム ステップのみを計算します。この計算の実行時には、モデルの各ブロックに基づいてそれぞれの離散状態量が更新されます。連続状態は計算されません。

モデルをシミュレートするソルバーを選択するときは、次を考慮します。

  • システムのダイナミクス

  • ソリューションの安定性

  • 計算の速度

  • ソルバーのロバスト性

すべての要件が 1 つのソルバーで完全に満たされるとは限らないため、ソルバーを選択する際は反復的手法を使用します。複数のソルバーのシミュレーション結果を比較し、最小のトレードオフで最適なパフォーマンスを提供するソルバーを 1 つ選択します。

モデルのソルバーを選択するには 2 つの方法があります。

  • 自動ソルバーを使用します。新しいモデルでは、ソルバーの選択が既定値で自動ソルバーに設定されています。自動ソルバーは、モデルに対して固定ステップまたは可変ステップのソルバーと最大ステップ サイズを推奨します。

  • 自動ソルバーを使用したシミュレーション結果が満足のいかないものである場合は、モデル コンフィギュレーション パラメーターの [ソルバー] ペインでソルバーを選択します。

関連する例

詳細

この情報は役に立ちましたか?