ccoming

博客园 首页 联系 订阅 管理

以下总结部分来源网络,由于作者很久之前下载,无法找到具体网页来源,如有版权问题,请联系删除.

 

变步长的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,因此有

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

因此

 

posted on 2017-04-17 20:45  ccoming  阅读(4251)  评论(0)    收藏  举报