我将 Verlet 集成的简单版本用于具有碰撞的粒子-粒子交互系统。在每次迭代结束时,我像这样集成:
verletX = ( 1.92*x[i] - 0.92*x_old[i] ) + fx[i]*0.002;
verletY = ( 1.92*y[i] - 0.92*y_old[i] ) + fy[i]*0.002;
x_old[i] = x[i];
y_old[i] = y[i];
x[i] = verletX;
y[i] = verletY;
我可以使用更旧的 X 和 Y 数据来增加其错误顺序(以更精确地减少时间步长)吗?目前它应该不如 RK4 精确,但我确信它比简单的欧拉积分要好得多。例如,我可以使用最后八次迭代的数据达到 RK4 级别吗?
我不尝试 RK4 的原因是力的计算需要太多时间。但是,拥有旧数据的副本并对其进行更新不会。我也不需要精确性;我只需要系统稳定性,使粒子停留在固定点而不是爆炸性近距离跳跃。