擅长:python、mysql、java
<p>这种模拟是出了名的不可靠。舍入误差累积并引入不稳定性。提高精度没有多大帮助;问题是你(必须)使用有限的步长,而大自然使用的是零步长。在</p>
<p>您可以通过减小步长来减少问题,因此需要更长的时间才能使错误变得明显。如果不是实时执行此操作,则可以使用动态步长,如果两个或多个实体非常接近,则可以减小该步长。在</p>
<p>我对这些模拟所做的一件事就是在每一步之后“重新标准化”,使总能量相同。整个系统的重力和动能之和应该是一个常数(能量守恒)。计算出每一步后的总能量,然后将所有物体的速度按一定的比例缩放以保持总能量不变。这至少让输出看起来更合理。如果没有这种缩放,在每一步之后都会有少量的能量被添加到系统中,或者从系统中移除,而轨道往往会膨胀到无穷大,或者盘旋进入太阳。在</p>