这个问题更多地是关于如何以数字方式解决问题。
在一个小项目中,我想模拟 Janus 和 Epimetheus 的轨道运动。这基本上是一个三体问题。我选择土星固定在原点,让和分别是janus和epimetheus的位置向量。由于当 Janus 和 Epimetheus 非常接近时会出现这种效果,所以我选择了相对坐标以获得更好的分辨率,即和. 现在我得到以下运动方程:
其中对应于卫星的质量,是土星的质量,是引力常数。当我尝试以数字方式解决这个问题时,问题就出现了。必须处理大小完全不同的值,即和。并且 ,在 0 到 150,000 的范围内。
老实说,我不确定这是否是讨论此类数字问题的地方论坛。
更多信息:
代码是用 Matlab 编写的,我使用标准 ODE 求解器来获得结果。然而,这是失败的,因为在机器精度下无法减小步长。(我觉得这并不奇怪,因为必须处理已经提到的数量级)。