Main Content

絶対許容誤差

説明

測定された状態の値がゼロに近づくにつれた、ソルバーの最大許容誤差を指定します。絶対誤差がこの許容誤差を超える場合、ソルバーはタイム ステップのサイズを縮小します。

カテゴリ: ソルバー

設定

既定の設定: auto

  • 既定値 (auto) を指定すると、各状態に対する絶対許容誤差の初期値は相対許容誤差のみに基づいて設定されます。相対許容誤差が 1e-3 より大きい場合、最初の絶対許容誤差は 1e-6 に設定されます。ただし、相対許容誤差が 1e-3 より小さい場合、状態の絶対許容誤差は reltol * 1e-3 に初期化されます。シミュレーションが進行すると、各状態に対する絶対許容誤差は、その時点までに到達した状態の最大値に、その状態の相対許容誤差を掛け合わせたものに再設定されます。

    たとえば、状態が 0 から 1 に変化し、[相対許容誤差] が 1e-4 に設定されている場合、[絶対許容誤差] は 1e-7 で初期化され、シミュレーションが完了するまでに [絶対許容誤差] は 1e-4 に達します。

    反対に、[相対許容誤差] が 1e-3 に設定されている場合は、[絶対許容誤差] は 1e-6 に設定され、シミュレーションが完了するまでに 1e-3 に達します。

  • 計算された設定値が適切でない場合は、適切な設定値を指定できます。

  • [絶対許容誤差] に独自の値を設定する場合は、AutoScaleAbsTol パラメーターを切り替えて状態の値に基づき適応するかどうかを選択することもできます。詳細については、絶対許容誤差を自動的にスケールを参照してください。

ヒント

  • 各タイム ステップにおける許容誤差は、相対許容誤差絶対許容誤差の相関関係で決まります。これらの設定値の相関関係の詳細は、可変ステップ ソルバーの許容誤差を参照してください。

  • Integrator ブロック、Second-Order Integrator ブロック、Variable Transport Delay ブロック、Transfer Fcn ブロック、State-Space ブロック、および Zero-Pole ブロックでは、計算したり出力を定義したりするモデルの状態を解くために絶対許容誤差の値を指定できます。これらのブロックに対してユーザーが指定した絶対許容誤差の値は、[コンフィギュレーション パラメーター] ダイアログ ボックスでのグローバル設定値をオーバーライドします。

  • たとえば、モデルの大きさが大幅に変化するなどの理由のため、グローバル設定値ですべてのモデル状態の誤差を十分に制御できない場合は、ブロックを使用して [絶対許容誤差] 設定値をオーバーライドできます。

  • [絶対許容誤差] の設定値を低くしすぎると、ゼロに近い状態値の周辺でソルバーのステップ数が過剰に多くなり、シミュレーションが遅くなる可能性があります。

  • シミュレーションを実行した後でその精度をチェックするには、絶対許容誤差の値を小さくして、シミュレーションを再実行します。2 回のシミュレーションの結果が大幅に異なっていなければ、解は収束しているはずです。

  • シミュレーションの結果が正確でないと考えられ、モデルに含まれている状態の値がゼロに近づいている場合は、絶対許容誤差が大きすぎる可能性があります。この場合は、絶対許容誤差の値を小さくすることで、ゼロに近い状態値の周辺におけるシミュレーションのステップ数を強制的に増やしてください。

依存関係

このパラメーターは以下の場合にのみ有効になります。

  • ソルバーの [タイプ][可変ステップ] に設定されている場合

  • [ソルバー] が可変ステップ連続ソルバーに設定されている場合

このパラメーターは [相対許容誤差] と連動して、各タイム ステップにおける許容可能な誤差を決定します。これらの設定値の相関関係の詳細は、可変ステップ ソルバーの許容誤差を参照してください。

プログラムでの使用

パラメーター: AbsTol
型: 文字ベクトル | 数値
値: 'auto' | 正の実数値
既定の設定: 'auto'

推奨設定

アプリケーション設定
デバッグ影響なし
トレーサビリティ影響なし
効率性影響なし
安全対策影響なし

関連するトピック