文档详情

RK求解微分方程.ppt

发布:2015-09-10约1.49千字共23页下载文档
文本预览下载声明
Runge-Kutta积分方法 例 Runge-Kutta方法的推导 Runge-Kutta方法的一般形式: 二阶显式Runge-Kutta方法 二阶显式Runge-Kutta方法 例 结果及比较 三阶显式Runge-Kutta方法 三阶显式Runge-Kutta方法 四阶显式Runge-Kutta方法 四阶显式Runge-Kutta方法 例 结果及比较 结果及比较 关于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) 单步法 作业 * 由此得到高阶的单步法。 但是,往往右函数的高阶导数或者无法直接得到、或者计算太过复杂。所以实际的做法是:用[tn,tn+1]区间中解曲线邻域的一些已知点函数值的线性组合来代替F(t,Y)的导数,从而得到高阶的单步法公式。 此处即通过计算已知点的函数值(K1,K2)的线性组合代替高阶导数,得到了较高的精度。 确定了阶数之后,再通过Taylor展开、比较两边系数的方法,确定各待定系数: 展开各项如下: 其中 要使得方法是二阶的,则局部截断误差应该为三阶小量,即: 在推导二阶显式方法的过程中,注意到局部截断误差表达式中h3项包含了以下表达式: 因此若要在局部截断误差中消去h3项,必须增加包含了以上各项的多个方程,同时我们注意到r=2时,只有 等四个待定系数,少于方程的数目,所以这样的系数不存在。故: r=2时Runge-Kutta方法只能是二阶的。要得到三阶的方法,则必须有r=3。 xn xn + h/2 xn + h f1 f2 f3 f4 1.64E-1 2.32E-6 2.281718 2.117800 2.281716 1.0 1.29E-1 1.96E-6 2.150397 2.021086 2.150395 0.9 9.99E-2 1.68E-6 2.014459 1.914603 2.014457 0.8 7.51E-2 1.42E-6 1.876247 1.801179 1.876246 0.7 5.45E-2 1.20E-6 1.737881 1.683374 1.737880 0.6 3.78E-2 9.95E-7 1.601279 1.563506 1.601278 0.5 2.45E-2 7.69E-7 1.468175 1.443671 1.468175 0.4 1.44E-2 5.48E-7 1.340141 1.325766 1.340141 0.3 7.09E-3 3.40E-7 1.218597 1.211507 1.218597 0.2 2.38E-3 1.60E-7 1.104829 1.102450 1.104829 0.1 0.000000 0.0000 1.000000 1.000000 1.000000 0.0 二阶误差 四阶误差 真解 二阶 四阶 x 提高精度最简单的方法是缩短步长,但要以牺牲计算速度和积累舍入误差为代价。 *
显示全部
相似文档