1、Runge-Kutta积分方法,由此得到高阶的单步法。但是,往往右函数的高阶导数或者无法直接得到、或者计算太过复杂。所以实际的做法是:用tn,tn+1区间中解曲线邻域的一些已知点函数值的线性组合来代替F(t,Y)的导数,从而得到高阶的单步法公式。,例,此处即通过计算已知点的函数值(K1,K2)的线性组合代替高阶导数,得到了较高的精度。,Runge-Kutta方法的推导,Runge-Kutta方法的一般形式:,确定了阶数之后,再通过Taylor展开、比较两边系数的方法,确定各待定系数:,二阶显式Runge-Kutta方法,展开各项如下:,其中,二阶显式Runge-Kutta方法,要使得方法是二阶
2、的,则局部截断误差应该为三阶小量,即:,例,结果及比较,三阶显式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,例,结果及比较,结果及比
3、较,关于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),单步法,作业,