文档介绍:Runge-Kutta积分方法
由此得到高阶的单步法。
但是,往往右函数的高阶导数或者无法直接得到、或者计算太过复杂。所以实际的做法是:用[tn,tn+1]区间中解曲线邻域的一些已知点函数值的线性组合来代替F(t,Y)的导数,从而得到高阶Runge-Kutta积分方法
由此得到高阶的单步法。
但是,往往右函数的高阶导数或者无法直接得到、或者计算太过复杂。所以实际的做法是:用[tn,tn+1]区间中解曲线邻域的一些已知点函数值的线性组合来代替F(t,Y)的导数,从而得到高阶的单步法公式。
精选课件
例
此处即通过计算已知点的函数值(K1,K2)的线性组合代替高阶导数,得到了较高的精度。
精选课件
Runge-Kutta方法的推导
Runge-Kutta方法的一般形式:
确定了阶数之后,再通过Taylor展开、比较两边系数的方法,确定各待定系数:
精选课件
二阶显式Runge-Kutta方法
展开各项如下:
其中
精选课件
二阶显式Runge-Kutta方法
要使得方法是二阶的,则局部截断误差应该为三阶小量,即:
精选课件
例
精选课件
结果及比较
精选课件
三阶显式Runge-Kutta方法
在推导二阶显式方法的过程中,注意到局部截断误差表达式中h3项包含了以下表达式:
因此若要在局部截断误差中消去h3项,必须增加包含了以上各项的多个方程,同时我们注意到r=2时,只有 等四个待定系数,少于方程的数目,所以这样的系数不存在。故: r=2时Runge-Kutta方法只能是二阶的。要得到三阶的方法,则必须有r=3。
精选课件
三阶显式Runge-Kutta方法
精选课件
四阶显式Runge-Kutta方法
精选课件
四阶显式Runge-Kutta方法
xn
xn + h/2
xn + h
f1
f2
f3
f4
精选课件
x
四阶
二阶
真解
四阶误差
二阶误差
-7
-3
-7
-3
-7
-2
-7
-2
-7
-2
-6
-2
-6
-2
-6
-2
-6
-1
-6
-1
例
精选课件
结果及比较
精选课件
结果及比较
精选课件
关于Runge-Kutta方法
精选课件
提高Runge-Kutta方法的精度的方法
提高精度最简单的方法是缩短步长,但要以牺牲计算速度和积累舍入误差为代价。
精选课件
变步长的Runge-Kutta方法
作为妥协,如果能在计算过程中实时控制步长的大小,就可以在获得较高的计算速度的同时,保证较高的精度。
精选课件
Runge-Kutta-Fehlberg方法
Fehlberg设计了一个更加精巧的嵌套方法如下:
精选课件
Runge-Kutta-Fehlberg方法
Fehlberg给出的四阶、五阶公式RKF4(5)如下:
精选课件
Runge-Kutta-Fehlberg方法
七阶、八阶RKF7(8)
精选课件
Runge-Kutta-Fehlberg方法
七阶、八阶RKF7(8)
精选课件
单步法
精选课件
作业
精选课件