私は連立一次方程式を解く午前、、数値的に。オイラー法とルンゲクッタ法(RK)の一般的な方法を使用してこれを行いました。この2つの分析ソリューションの精度にはかなりの違いがあることに気づきました。これの理由は何ですか?
私は連立一次方程式を解く午前、、数値的に。オイラー法とルンゲクッタ法(RK)の一般的な方法を使用してこれを行いました。この2つの分析ソリューションの精度にはかなりの違いがあることに気づきました。これの理由は何ですか?
回答:
最初に、あなたが言及したかもしれません、あなたが使用したどのRKメソッド。ここでは、RK法とオイラー法の簡単な概要を説明します。実際には、メリットとデメリットがあります。
オイラー法
オイラー法は一次法です。これは、現在のポイントの変化率に基づいて次のポイントを推定する簡単な方法であり、コーディングが簡単です。シングルステップ方式です。特に、フォワードオイラー法は、空間の離散化における非減衰振動系(ばね質量系や波動方程式など)では無条件に不安定です。複雑な問題や境界条件の場合、失敗する可能性があります。基本的な数値解析に使用できます。この方法は空間的離散化では一般的に使用されませんが、時間離散化では使用されることがあります。このスキームはより拡散的であるため、双曲線微分方程式には推奨されません。このスキームとグリッド細分割の収束の順序は非常に貧弱です。オイラー法を高次法に拡張するのは簡単で簡単です。
RKメソッド:
Runge-Kuttaメソッドは、実際には特定のスタイルで派生したスキームのファミリーです。このリンクを参照して、RKメソッドの基本的なアイデアを入手できます。http: //web.mit.edu/10.001/Web/Course_Notes/Differential_Equations_Notes/node5.html
フォワードオイラー法は、実際には最も単純なRK法です(1段階、1次)。高次の正確なRK法は、現在と次の離散時間の値またはその間の複数のステップでの勾配計算を含むため、多段階です。従属変数の次の値は、ソリューションのテイラー級数近似に基づいて、これらの複数のステージの加重平均をとることによって計算されます。この加重平均の加重は、テイラー級数の誤差項のキャンセルを必要とすることによって形成される非線形代数方程式を解くことによって得られます。高次RKメソッドの開発は、計算にシンボリックツールを使用しないと面倒で困難です。
最も一般的なRKメソッドはRK4です。これは、精度の順序と計算コストのバランスが取れているためです。RK4は、精度の次数と同じ数のステップを必要とする、最高次の陽的ルンゲクッタ法です(つまり、RK1 = 1ステージ、RK2 = 2ステージ、RK3 = 3ステージ、RK4 = 4ステージ、RK5 = 6ステージ、。 ..)。4次を超えると、RKメソッドの計算は比較的高価になります。
回答
通常、オイラー法の誤差は、高次RK法(RK2、RK3など)よりも高くなります。これは、高次法の打ち切り誤差がオイラー法に比べて少ないためです。
数値法の初級レベルの文献のいくつかでは、高次の方法(たとえば、RK4)は低次の方法(たとえば、オイラー法)よりも誤差が少ないと大まかに述べられています。ほとんどの場合、これは当てはまりますが、常に当てはまるわけではありません。このプロパティは、メッシュ、初期条件、および考慮した微分方程式に依存します。
RK4法における最初の「絶対最大差誤差は」等しい(又は)粗いグリッドのオイラー法よりも高い相対短い波の問題のために精製グリッドに低減する グリッド。RK4法の収束率はオイラーよりも大きいからです。グリッドの粗さまたは細かさは、完全に微分方程式、初期条件、および数値スキームに基づいていることに注意してください。詳細は下記リンクをご参照ください。これは微分に基づいていますが、「数値積分」が安定している限り、時間の数値積分と微分の相対的な比較を行うことができます。
@Dou...
を開始すると、オートコンプリートが表示されます。他の質問に回答を投稿しました。
オイラー法は解の曲率を考慮しないため、ステップサイズによって異なる結果が得られる傾向があります。RKは、次数に応じて、曲率を考慮します。これにより、推定される「次のステップ」がより正確になります。基本的に、直線が曲線(オイラー)の良い近似であると偽っている場合は、常にソリューションをオーバーシュートします。しかし、曲率(RK)を考慮すると、曲線をたどることができます。
有名なホッケーの引用(Gretzky)と比較してください。オイラーはパックがどこにあるかをスケートします。ルンゲクッタは、パックが配置される場所に向かってスケートします。
me-tooの回答を追加したことをお許しください。しかし、Press、et al: "Numerical Recipes in C"のこのページを含めることに抵抗できませんでした。