蛙跳积分法

来自testwiki
imported>Wolfch2024年10月25日 (五) 14:14的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转到导航 跳转到搜索

蛙跳积分法是一种对微分方程进行积分的简单方法,尤其是在动力系统的情况下。这个方法在不同学科中有不同的名字。特别是它与速度Verlet方法等同,后者是Verlet积分法中的一个变体。

蛙跳积分法相当于在交错的时间点计算位置和速度,在时间上相互交错,所以他们相互跃过对方。例如,位置为整数的时间步长而速度为整数加一半的时间步长。

蛙跳积分法是一个二阶的方法因此通常要好于一阶的欧拉方法。不同于欧拉方法,它对振荡运动稳定,只要满足 Δt<1/ω[1].

蛙跳积分法的方程可写为:

xi+1=xi+vi+1/2Δt
vi+1/2=vi1/2+aiΔt

这些方程可被处理为速度为整数步长的形式:

xi+1=xi+viΔt+aiΔt22


vi+1=vi+ai+ai+12Δt. [2]

这第二种形式通常要求解隐式的第二个方程,因为a可能依赖于v.

这个方程的一个应用是重力模拟,因为在这种情况下加速度只依赖于引力质量的位置;虽然更高阶的积分器(如龙格-库塔法)更常用。

参考

参见

Template:常微分方程数值方法