擅长:python、mysql、java
<p>你需要很快对太阳系进行精确的积分。假设您已经正确地实现了所有的东西,您可能会看到这种模拟的RK的缺点。在</p>
<p>若要验证是否存在这种情况,请尝试不同的积分算法。我发现使用<a href="http://en.wikipedia.org/wiki/Verlet_integration" rel="nofollow">Verlet integration</a>模拟太阳系将不会太混乱。Verlet的实现也比RK4简单得多。在</p>
<p>Verlet(和导出的方法)在长期预测(如全轨道)方面通常比RK4好的原因是它们是辛的,也就是说,保持了RK4没有的动量。因此,Verlet将给出一个更好的行为,即使在它发散(一个真实的模拟,但有一个错误),而RK将给出一个非物理行为一旦它发散。在</p>
<p>另外:确保尽可能好地使用浮点。在太阳系中,不要使用以米为单位的距离,因为浮点数的精度在0..1区间内要好得多。使用AU或其他标准化比例尺比使用仪表要好得多。正如在另一个主题中建议的那样,请确保对时间使用epoch,以避免在添加时间点时累积错误。在</p>