数值分析7.2龙格—库塔方法剖析课件

上传人:工**** 文档编号:567710158 上传时间:2024-07-22 格式:PPT 页数:24 大小:294.50KB
返回 下载 相关 举报
数值分析7.2龙格—库塔方法剖析课件_第1页
第1页 / 共24页
数值分析7.2龙格—库塔方法剖析课件_第2页
第2页 / 共24页
数值分析7.2龙格—库塔方法剖析课件_第3页
第3页 / 共24页
数值分析7.2龙格—库塔方法剖析课件_第4页
第4页 / 共24页
数值分析7.2龙格—库塔方法剖析课件_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《数值分析7.2龙格—库塔方法剖析课件》由会员分享,可在线阅读,更多相关《数值分析7.2龙格—库塔方法剖析课件(24页珍藏版)》请在金锄头文库上搜索。

1、7.3 龙格龙格库塔方法库塔方法 对许多实际问题来说,欧拉公式与改进欧拉公对许多实际问题来说,欧拉公式与改进欧拉公式精度还不能满足要求,为此从另一个角度来分析式精度还不能满足要求,为此从另一个角度来分析这两个公式的特点,从而探索一条构造这两个公式的特点,从而探索一条构造高精度高精度方法方法的途径的途径. 7.3.1 显式龙格显式龙格库塔法的一般形式库塔法的一般形式 上节给出了显式单步法的表达式上节给出了显式单步法的表达式( (2.11) ), 其局其局部截断误差为部截断误差为O(hp+1),对欧拉法,对欧拉法Tn+1=O(h2),即方法,即方法为为p=1阶阶,若用改进欧拉法,若用改进欧拉法(

2、(2.9) ):此时增量函数为此时增量函数为它比欧拉法的它比欧拉法的 (xn, yn, h)= =f(xn, yn), 增加了计算一个函增加了计算一个函数数 f 的值,期望的值,期望 p=2. .若要使得到的公式阶数若要使得到的公式阶数 p 更大更大, 就必须包含更多的就必须包含更多的 f 值值. . 实际上从方程实际上从方程(1.1)等价的等价的积分形式积分形式(2.4) ,即,即若要使公式阶数提高,就必须使右端积分的数值求若要使公式阶数提高,就必须使右端积分的数值求积公式精度提高,它必然要增加求积节点,为此可积公式精度提高,它必然要增加求积节点,为此可将将( (3.3) )的右端用求积公式

3、表示为的右端用求积公式表示为一般说来,点数一般说来,点数 r 越多,精度越高,上式右端相当越多,精度越高,上式右端相当于增量函数于增量函数 (xn, yn, h),为得到便于计算的显式方法,为得到便于计算的显式方法,可类似于改进欧拉法可类似于改进欧拉法(3.1),(3.2),将公式表示为将公式表示为其中其中这里这里ci, i, ij 均为常数均为常数. (3.4)和和(3.5)称为称为 r 级显式级显式龙格龙格- -库塔库塔(Runge- -Kutta)法法, 简称简称R- -K方法方法. 注:注:当当 r=1, (xn, yn, h) = =f(xn, yn) 时,就是欧拉法,时,就是欧拉法

4、,此时方法的阶为此时方法的阶为 p=1. 当当 r=2 时,改进欧拉法时,改进欧拉法(3.1)是其是其中一种,下面将证明其阶中一种,下面将证明其阶 p=2. 要使公式要使公式(3.4),(3.5)具有具有更高的阶更高的阶 p,就要增加点数,就要增加点数 r. 下面我们只就下面我们只就 r=2推导推导R-K方法方法. 并给出并给出 r=3,4 时的常用公式,其推导方法与时的常用公式,其推导方法与 r=2 时类似,只是计算较复杂时类似,只是计算较复杂.补充:二元函数的泰勒公式补充:二元函数的泰勒公式一元函数一元函数的泰勒公式的泰勒公式: :推广推广多元函数泰勒公式多元函数泰勒公式 记号记号:( (

5、设下面涉及的偏导数连续设下面涉及的偏导数连续): ): 一般地一般地, , 表示表示表示表示定理:定理:的某一邻域内有直的某一邻域内有直到到 n + 1 阶连续偏导数阶连续偏导数 , ,为此邻域内任为此邻域内任 一点一点, , 则有则有其中其中 称为称为f 在点在点(x0 , y0 )的的 n 阶泰勒公式阶泰勒公式, ,称为其拉格称为其拉格朗日型余项朗日型余项 . .7.3.2 二阶显式二阶显式R-K方法方法 对对r=2的的R-K方法方法,由,由(3.4),(3.5)式可得式可得如下如下计算计算公式公式这里这里 c1, c2, 2, 21 均为待定常数,我们希望适当选取均为待定常数,我们希望适

6、当选取这些系数,使公式阶数这些系数,使公式阶数 p 尽量高尽量高. 根据局部截断误差根据局部截断误差定义,推导出定义,推导出(3.6)的局部截断误差为的局部截断误差为其中其中这里这里yn= =y(xn), yn+1= =y(xn+1). 为得到为得到Tn+1的阶的阶 p,要将,要将上式各项在上式各项在(xn, yn)处做泰勒展开,用二元泰勒展开,处做泰勒展开,用二元泰勒展开,各项展开式为各项展开式为将以上结果代入将以上结果代入(3.7),则有,则有要使公式要使公式(3.6)具有具有 p=2 阶,必须使阶,必须使即即(3.9)的的解是不唯一的解是不唯一的. . 可令可令c2=a0,则得,则得这样

7、得到的公式这样得到的公式称为称为二阶二阶R- -K方法方法. 如取如取a=1/2,则,则c1= c2=1/2, 2=21=1. . 这就是这就是改进改进的欧拉公式的欧拉公式(3.1).称为称为中点公式中点公式( (变形的欧拉公式变形的欧拉公式) ),相当于数值积分的,相当于数值积分的中矩形公式中矩形公式. .也可以表示为也可以表示为 如取如取a=1,则,则c1=0, c2=1, 2=21=1/2. . 得计算公式得计算公式 对对r=2的的R-K公式公式(3.6)能否使局部误差提高到能否使局部误差提高到O(h4)? 为此为此 需把需把K2多展开一项,从多展开一项,从(3.8)的的 看到展开看到展

8、开式中的项式中的项 是不能通过选择参数消掉是不能通过选择参数消掉的的. 故故r2的显式的显式R-K方法的阶只能是方法的阶只能是 p=2,而不能,而不能得到三阶公式得到三阶公式.7.3.3 三阶与四阶显式三阶与四阶显式R-K方法方法 要得到三阶显式要得到三阶显式R- -K方法方法,必须,必须 r=3. 此时计算此时计算(3.4), (3.5)的公式的公式表示为表示为其中其中c1, c2, c3及及2, 21, 3, 31, 32均为待定常数,公式均为待定常数,公式(3.11)的局部截断误差为的局部截断误差为只要只要K1, K2将按二元泰勒展开,使将按二元泰勒展开,使Tn+1O(h4),可得,可得

9、待定参数满足方程待定参数满足方程这是这是8个未知数个未知数6个方程的方程组,解不是唯一的个方程的方程组,解不是唯一的. 可可以得到很多公式以得到很多公式. 满足条件满足条件( (3.12) )的公式的公式( (3.11) )统称统称为为三阶三阶R- -K公式公式. 下面只给出下面只给出其中一个常见的公式其中一个常见的公式. 此公式称为此公式称为三阶库塔方法三阶库塔方法. . 继续上述过程,经过较复杂的数学演算,可以导继续上述过程,经过较复杂的数学演算,可以导出出各种四阶各种四阶R- -K公式公式,下列,下列经典公式经典公式是其中常用的一是其中常用的一个:个: 四阶四阶R- -K方法方法的每一步

10、需要计算四次函数值的每一步需要计算四次函数值 f,可以证明其局部截断误差为可以证明其局部截断误差为O(h5). . 然而值得指出的是,龙格然而值得指出的是,龙格- -库塔方法的推导基于库塔方法的推导基于泰勒展开泰勒展开方法,因而它要求所求的方法,因而它要求所求的解具有较好的光解具有较好的光滑性质滑性质. 反之,如果解的光滑性差,那么,使用龙反之,如果解的光滑性差,那么,使用龙格格- -库塔方法求得的数值解,其精度可能反而不如改库塔方法求得的数值解,其精度可能反而不如改进的欧拉方法进的欧拉方法. 实际计算时,我们应当实际计算时,我们应当针对问题的具针对问题的具体特点选择合适的算法体特点选择合适的

11、算法.*7.3.4 变步长的龙格变步长的龙格-库塔方法库塔方法 单从每一步看,步长越小,截断误差就越小,单从每一步看,步长越小,截断误差就越小,但随着步长的缩小,在一定求解范围内所要完成的步但随着步长的缩小,在一定求解范围内所要完成的步数就增加了数就增加了. 步数的增加不但引起计算量的增大,而步数的增加不但引起计算量的增大,而且可能导致舍入误差的严重积累且可能导致舍入误差的严重积累. 因此同积分的数值因此同积分的数值计算一样,微分方程的数值解法同样存在计算一样,微分方程的数值解法同样存在选择步长选择步长的的问题问题. 在选择步长时,需要考虑在选择步长时,需要考虑两个问题两个问题: 1. 怎样衡

12、量和检验计算结果的精度?怎样衡量和检验计算结果的精度? 2. 如何依据所获得的精度处理步长?如何依据所获得的精度处理步长?我们考察我们考察四阶四阶R- -K公式公式(3.13) ,从节点,从节点xn出发,出发,先以先以h为步长求出一个近似值,记为为步长求出一个近似值,记为 ,由于公式,由于公式的局部截断误差为的局部截断误差为O(h5),故,故然后将步长折半,即取为步长然后将步长折半,即取为步长 ,从从xn跨两步到跨两步到xn+1,再求得一个近似值再求得一个近似值 ,每跨一步的局部截断误差,每跨一步的局部截断误差是是 ,因此有,因此有比较比较(3.14)式和式和(3.15)式我们看到,步长折半后

13、,误差式我们看到,步长折半后,误差大约减少到大约减少到1/16,即有,即有由此易得下列事后估计式由此易得下列事后估计式这样,我们可以通过检查步长,折半前后两次计算结这样,我们可以通过检查步长,折半前后两次计算结果的偏差果的偏差来判定所选的步长是否合适,具体地说,将区分以下来判定所选的步长是否合适,具体地说,将区分以下两种情况处理:两种情况处理:这种通过加倍或折半处理步长的方法称为变步长这种通过加倍或折半处理步长的方法称为变步长方法方法. .表面上看,为了选择步长,每一步的计算量增表面上看,为了选择步长,每一步的计算量增加了,但总体考虑往往是合算的加了,但总体考虑往往是合算的. .1.1.对于给定的精度对于给定的精度, ,如果如果, ,我们反复将步长我们反复将步长折半计算折半计算, ,直至直至为为止止, ,这时取最终得到的这时取最终得到的 作为作为结果;结果;2.2.如果如果为止,这时再将步长折半计算一次,就得到所为止,这时再将步长折半计算一次,就得到所要的结果要的结果. .

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号