この質問は、数値的に問題に取り組む方法に関するものです。
小さなプロジェクトで、ヤヌスとエピメテウスの軌道運動をシミュレートしたいと思いました。これは基本的に三体問題です。私は土星を原点に固定することを選択し、とr 2をそれぞれジャヌスとエピメテウスの位置ベクトルとする。JanusとEpimetheusが非常に接近しているときに効果が発生するので、解像度を上げるために相対座標を選択しました。つまり、r = r 1 − r 2およびR = r 1 + r 2です。これで、次の運動方程式が得られます。
ここで、は月の質量に対応し、は土星の質量、は重力定数です。これを数値的に解こうとすると問題が発生します。完全に異なる大きさの値、つまりとます。そして、、は0から150,000の範囲にあります。
正直なところ、これがそのような数値的な問題について議論するためのフォーラムかどうかはわかりません。
詳しくは:
コードはMatlabで記述されており、標準のODEソルバーを使用して結果を取得しています。ただし、機械の精度ではステップサイズを小さくできないため、これはうまくいきません。(私はこれが驚くべきことではないことを発見しました。なぜなら、すでに言及された桁数を扱わなければならないからです)