NDSolve::eerr NDSolveValue::eerr ParametricNDSolve::eerr ParametricNDSolveValue::eerr

詳細

  • このメッセージは,偏微分方程式を解いている際の過度の数値誤差によって表示される.
  • このエラーは,グリッド点の数を増やすためにStartingStepSizeオプションの値を減らしたり,誤差の許容度を上げるためにAccuracyGoalまたはPrecisionGoalオプションの値を下げるたりすることによって回避できることがある.
  • Off[message]はメッセージが表示されないようにし,On[message] はメッセージが表示されるようにする.(例: Off[NDSolve::eerr]

例題

  (4)

デフォルトのグリッド間隔は,デフォルトの誤差の許容度内の解の計算には十分ではない:

PrecisionGoalオプションの値を下げると,誤差の許容度を上げることができる:

高次微分はこの問題を硬くする:

"StiffnessSwitching"メソッドを使って解くと,問題が解決する:

以下の偏微分方程式について考える:

以下は,における解のプロットである.頂点付近の振動は物理的ではないので,この警告メッセージは適切である:

MaxStepSizeを小さくして,前部での解の急速な変化を解決する:

もう一つの方法として,"TensorProductGrid"のオプションでグリッドを改善することもできる:

偏微分方程式を解く:

MaxStepSizeを小さくしてエラーメッセージが表示されないようにする: