以下总结部分来源网络,由于作者很久之前下载,无法找到具体网页来源,如有版权问题,请联系删除.
变步长的Runge-Kutta方法:作为妥协,如果能在计算过程中实时控制步长的大小,就可以在获得较高的计算速度的同时,保证较高的精度.
采用经典的四阶龙格-库塔公式 :

从节点xn出发,先以h为步长求出一个近似值
.由于公式的局部截断误差为o(h5),故有

Fehlberg设计了一个更加精巧的嵌套方法如下:
![]()


当h很小时,p阶方法的局部截断误差可以近似为
因此局部截断误差约等于p+1阶方法和p阶方法的数值解的差.可以用这个差来控制步长.
以下寻找p+1阶方法, 针对rk45,


Fehlberg给出的四阶、五阶公式RKF4(5)如下:其中带#列为五阶精度系数,前一列为四阶精度系数.计算采用五阶精度计算,四阶精度只用来估计步长

rk78



重要参考:http://maths.cnam.fr/IMG/pdf/RungeKuttaFehlbergProof.pdf
将步长折半,即取h/2为步长从xn跨两步到xn+1,再求得一个近似值
,每跨一步的截断误差是 c(h/2)5,因此有

比较上面两式,我们可以得到


因此


浙公网安备 33010602011771号