文档详情

常微分方程龙格库塔方法.pptx

发布:2020-02-21约1.99千字共16页下载文档
文本预览下载声明
8.2 Runge-Kutta 方法;8.2.1 Runge-Kutta方法的基本思想;这个方法并不实用,因为一般情况下,求 的导数相当麻烦。从计算高 阶导数的公式知道,方法的截断误差提高一阶,需要增加的计算量很大。但是 由此启发我们用区间上若干个点的导数 ,而不是高阶导数,将它们作线性 组合得到平均斜率,将其与解的Taylor展开相比较,使前面若干项吻合,从而 得到具有一定阶的方法。这就是Runge-Kutta方法的基本思想,其一般形式为;其中, 与 的区别在于:用微分方程准确解  代替 中的 就得 到 。参数 和 待定,确定它们的原则和方法是:将(8.2.2)式中 的 在 处作Taylor展开,将 在  处作二元Taylor展开,将展开式按H的幂次整理后,令 中h的低次幂的系数为零,使 首项中h的幂次尽量高,比如使 ,则称(8.2.1)式为L级p阶Runge-Kutta方法(简称R-K法)。 ;它与显式R-K公式的区别在于:显式公式中,对系数 求和的上限是 ,从 而 构成的矩阵是一个严格下三角阵。而在隐式公式中,对系数 求和的上 限是L,从而 构成的矩阵是方阵,需要用迭代法求出近似斜率 推导隐式公式的思路和方法与显式公式法类似。;8.2.2 几类显式Runge-Kutta方法 对于L=2,则; 将 中的各项作Taylor展开,并利用 则有;选取 和 ,使方法的阶尽可能高,就是使 h 和 的系数为零,因为 的系数一般不为零。于是得到方程组;取c=1得改进的Euler公式(8.1.6)。;对于L=4的情形,可进行类似推导。最常用的四级四阶方法是如下经典R-K方法;  为了分析经典R-K公式的计算量和计算精度,将四阶经典R-K公式(8.2.6) 与一阶显式Euler公式(8.1.2)及二阶改进的Euler公式相比较。一般说来,公 式的级数越大,计算右端项 f 的次数越多,计算量越大。在同样步长的情况 下,Euler方法每步只计算一个函数值,而经典方法要计算4个函数值。四阶R- K法的计算量差不多是改进的Euler公式的2倍,是显式Euler公式的4倍。下面 的例子中Euler方法用步长 ,二阶改进的Euler法用步长 ,而四阶经典公 式用步长 。这样,从 到 三种方法都计算了4个函数制,计算 量大体相当。;其解析解为 。分别用h=0.025的显式Euler方法,h=0.05 改进Euler法和h=0.1的经典R-K方法计算到x=0.5。三种方法在x方 向每前进0.1都要计算4个右端函数值,计算量相当。计算结果列于 表8-3。从计算结果看,在工作量大致相同的情况下,还是经典方法 比其他两种方法的结果好得多。在x=0.5处,三种方法的误差分别是 。经典R-K法对多数好条件问 题( ,参见下节单步法的稳定性),能获得好的效果。;表 8-3; 在选择步长时,我们需要衡量和检验计算结果的精度,并依据所获得的精度 处理步长。下面以经典R-K方法为例进行说明。 从节点 出发,先以h为步长求出一个近似值 ,由于公式的局部截断 误差为 ,故有;比较上述二式,有; 具体地说,对于给定的精度 ,将按两种情况处理。如果 ,我 们反复将步长折半进行计算,直到 为止,这时取最终得到的 作 为结果。如果 ,我们反复将步长加倍,直到 为止,这时再将 前一次步长折半的结果作为所要的结果。这种通过加倍或折半处理步长的方法 称作变步长方法。虽然为了选择步长,每一步的计算量有所增加,但总体考虑 是值得的。
显示全部
相似文档