第五章常微分方程数值解法ppt课件

上传人:我*** 文档编号:151151778 上传时间:2020-11-12 格式:PPT 页数:95 大小:1.85MB
返回 下载 相关 举报
第五章常微分方程数值解法ppt课件_第1页
第1页 / 共95页
第五章常微分方程数值解法ppt课件_第2页
第2页 / 共95页
第五章常微分方程数值解法ppt课件_第3页
第3页 / 共95页
第五章常微分方程数值解法ppt课件_第4页
第4页 / 共95页
第五章常微分方程数值解法ppt课件_第5页
第5页 / 共95页
点击查看更多>>
资源描述

《第五章常微分方程数值解法ppt课件》由会员分享,可在线阅读,更多相关《第五章常微分方程数值解法ppt课件(95页珍藏版)》请在金锄头文库上搜索。

1、第五章 常微分方程数值解 /* Numerical Methods for Ordinary Differential Equations */, 待求解的问题:一阶常微分方程的初值问题 /* Initial-Value Problem */:,解的存在唯一性(“常微分方程”理论):只要 f (x, y) 在a, b R1 上连续,且关于 y 满足 Lipschitz 条件,即存在与 x, y 无关的常数 L 使 对任意定义在 a, b 上的 y1(x) 和 y2(x) 都成立,则上述IVP存在唯一解。,解析解法:(常微分方程理论) 只能求解极少一类常微分方程;实际中给定的问题不一定是解析表达

2、式,而是函数表,无法用解析解法。,如何求解,步进式:根据已知的或已求出的节点上的函数值计算当前节点上的函数值,一步一步向前推进。因此只需建立由已知的或已求出的节点上的函数值求当前节点函数值的递推公式即可。,-Eulers Method,1 欧拉方法 /* Eulers Method */,1 Eulers Method,Taylor展开法,几何意义,亦称为欧拉折线法 /* Eulers polygonal arc method*/,几何直观是帮助我们寻找解决一个问题的思路的好办法哦,说明,1 Eulers Method,截断误差: 实际上,y(xn) yn, yn 也有误差,它对yn+1的误差

3、也有影响,见下图。但这里不考虑此误差的影响,仅考虑方法或公式本身带来的误差,因此称为方法误差或截断误差。 局部截断误差的分析:由于假设yn = y(xn) ,即yn准确,因此分析局部截断误差时将y(xn+1) 和 yn+1都用点xn上的信息来表示,工具:Taylor展开。, 欧拉法的局部截断误差:,Rn+1 的主项 /* leading term */,1 Eulers Method, 欧拉法具有 1 阶精度。,在xn点用一阶向前差商近似一阶导数,在第二章讨论牛顿插值公式时 介绍了差商的概念和性质, 各阶差商可以近似各阶导数,具有不同的精度, 且可以用函数值来表示。 上一章中数值微分的方法之一

4、 就是用差商近似导数,Eulers method,1 Eulers Method,1 Eulers Method, 欧拉公式的改进:,隐式欧拉法或后退欧拉法 /* implicit Euler method or backward Euler method*/,隐式或后退欧拉公式,由于未知数 yn+1 同时出现在等式的两边,故称为隐式 /* implicit */ 欧拉公式,而前者称为显式 /* explicit */ 欧拉公式。隐式公式不能直接求解,一般需要用Euler显式公式得到初值,然后用Euler隐式公式迭代求解。因此隐式公式较显式公式计算复杂,但稳定性好(后面分析)。,收敛性,1 E

5、ulers Method,见上图, 显然,这种近似也有一定误差, 如何估计这种误差y(xn+1) yn+1 ? 方法同上,基于Taylor展开估计局部截断误差。 但是注意,隐式公式中右边含有f(xn+1 , yn +1 ) , 由于yn +1不准确,所以不能直接用 y (xn+1)代替f(xn+1 , yn +1 ),设已知曲线上一点 Pn (xn , yn ),过该点作弦线,斜率为(xn+1 , yn +1 ) 点的方向场f(x,y)方向,若步长h充分小,可用弦线和垂线x=xn+1的交点近似曲线与垂线的交点。,几何意义,1 Eulers Method, 隐式欧拉法的局部截断误差:,1 Eul

6、ers Method,1 Eulers Method, 隐式欧拉法的局部截断误差:,即隐式欧拉公式具有 1 阶精度。,1 Eulers Method,比较尤拉显式公式和隐式公式及其局部截断误差,显式公式,隐式公式,1 Eulers Method,若将这两种方法进行算术平均,即可消除误差 的主要部分/*leading term*/ 而获得更高的精度,称为梯形法,1 Eulers Method, 梯形公式 /* trapezoid formula */, 显、隐式两种算法的平均,注:的确有局部截断误差 , 即梯形公式具有2 阶精度,比欧拉方法有了进步。但注意到该公式是隐式公式,计算时不得不用到迭代

7、法,其迭代收敛性与欧拉公式相似。,梯形法的迭代计算和收敛性,收敛性,1 Eulers Method,梯形法的简化计算 迭代计算量大,且难以预测迭代次数。为了控制计算量,通常只迭代一次就转入下一点的计算。用显式公式作预测,梯形公式作校正,得到如下预测校正系统,也称为改进尤拉法:, 改进欧拉法 /* modified Eulers method */,1 Eulers Method,注:此法亦称为预测-校正法 /* predictor-corrector method */。可以证明该算法具有 2 阶精度,同时可以看到它是个单步递推格式,比隐式公式的迭代求解过程简单。后面将看到,它的稳定性高于显式

8、欧拉法。,1 Eulers Method,其它形式,1 Eulers Method,令x=x1,得,Another point of view,对右端积分采用左矩形、右矩形、梯形积分公式,即可得尤拉显式、隐式、梯形公式,1 Eulers Method, 中点欧拉公式 /* midpoint formula */,假设 ,则可以导出 即中点公式也具有 2 阶精度,且是显式的。,需要2个初值 y0和 y1来启动递推 过程,这样的算法称为双步法 /* double-step method */,而前面的三种算法都是单步法 /* single-step method */。,1 Eulers Meth

9、od,令x=x2,得,Another point of view,对右端积分采用中矩形公式即得中点公式,1 Eulers Method, 预测-校正-改进系统 中点法具有二阶精度,且是显式的,与梯形公式精度相匹配,用中点公式作预测,梯形公式作校正,得到如下预测校正系统:,校正误差约为预测误差的1/4,1 Eulers Method,预测误差和校正误差的事后误差估计式,利用上两式可以估计预测值和校正值与准确值的误差,可以期望,利用这两个误差分别作预测值和校正值的补偿,有可能提高精度。 设pn,cn分别为第n步的预测值和校正值,即,此时cn+1未知,故用pn -cn代替,1 Eulers Meth

10、od, 预测-校正-改进公式,注:利用该算法计算yn+1时,需要,1 Eulers Method,summary,两个预测-校正系统,尤拉两步法和梯形公式构成的预测-校正-改进系统,尤拉公式和梯形公式构成的预测-校正系统,例,HW: p.201 #1-5 证明中点法和梯形公式的精度为2阶,2 龙格 - 库塔法 /* Runge-Kutta Method */,建立高精度的单步递推格式:在改进尤拉法和尤拉两步法预测-校正系统中,预测公式都是单步法,如果预测误差很小,则通过校正后得到的近似值误差会更小,因此需要研究高精度的单步法., 1. Taylor级数法,IVP:,设其解为y=y(x),由Ta

11、ylor展开,有,(1),2 Runge-Kutta Method,(2),2 Runge-Kutta Method,要使公式具有p阶精度,则在(1)式中截取前p+1项,用(2)式计算各阶导数,即得下面Taylor公式:,局部截断误差,(3),2 Runge-Kutta Method,2.Taylor公式(3)表面上看形式简单,但具体构造时往往很困难,因为按(2)式求导,这一过程可能很复杂。因此通常不直接用Taylor公式,而借鉴其思想提出其它公式。,1. 由此看出,一种方法具有p阶精度公式对不超过p次的多项式准确成立(局部截断误差为0)。 这一等价条件也可以用来判断一种方法的精度。,2 Ru

12、nge-Kutta Method,单步递推法的基本思想是从 ( xn , yn ) 点出发,以某一斜率沿直线达到 ( xn+1 , yn+1 ) 点。欧拉法及其各种变形所能达到的最高精度为2阶。, 2. RungeKutta Method,由微分中值定理,有,k*称为区间xn, xn+1上的平均斜率,只要知道平均斜率,就可计算y(xn+1).因此只要对平均斜率提供一种近似算法,则由(4)式可导出一种相应的求解公式。,(4),2 Runge-Kutta Method,例,2 Runge-Kutta Method,由此看出,改进的尤拉公式用xn与xn+1两个节点的斜率的算术平均作为平均斜率, xn

13、+1点的斜率通过已知信息yn来预测。, 考察改进的欧拉法,可以将其改写为:,斜率 一定取K1, K2 的平均值吗?,步长一定是h 吗?即第二个节点一定是xn+1吗?,2 Runge-Kutta Method,2 Runge-Kutta Method,首先希望能确定系数 1、2、p,使得到的算法格式有2阶精度,即在 的前提假设下,使得,Step 1: 将 K2 在 ( xi , yi ) 点作 Taylor 展开,Step 2: 将 K2 代入第1式,得到, 2阶RungeKutta Method,2 Runge-Kutta Method,Step 3: 将 yi+1 与 y( xi+1 ) 在

14、 xi 点的泰勒展开作比较,要求 ,则必须有:,这里有 个未知数, 个方程。,3,2,存在无穷多个解。所有满足上式的格式统称为2阶龙格 - 库塔格式。,注意到, 就是改进的欧拉法;,p=1/2, 1=0, 2=1, 变形尤拉公式。,Q: 为获得更高的精度,应该如何进一步推广? 改进的Euler 公式推广为二阶Runge-Kutta公式带来这样的启示: 若在xn, xn+1上多预测几个点的斜率值,然后将它们的算术平均作为平均斜率,则有可能构造出具有更高精度的计算公式。 -Runge-Kutta方法的基本思想。,注:二阶Runge-Kutta公式用多算一次函数值f 的办法避开了二阶Taylor级数

15、法所要计算的f 的导数。在这种意义上,可以说Runge-Kutta方法实质上是Taylor级数法的变形。,2 Runge-Kutta Method,其中i ( i = 1, , m ),i ( i = 2, , m ) 和 ij ( i = 2, , m; j = 1, , i1 ) 均为待定系数,确定这些系数的步骤与前面相似。,2 Runge-Kutta Method, 高阶RungeKutta Method, Gill公式:4阶经典龙格-库塔公式的一种改进,2 Runge-Kutta Method, 最常用为四级4阶经典龙格-库塔法 /* Classical Runge-Kutta Met

16、hod */ :,2 Runge-Kutta Method, 由于龙格-库塔法的导出基于泰勒展开,故精度主要受解函数的光滑性影响。对于光滑性不太好的解,最好采用低阶算法而将步长h 取小。,2 Runge-Kutta Method, 变步长的RungeKutta Method,Q: 由局部截断误差可以看出,步长 h 越小,局部截断误差越小;但步长减小,在一定求解范围(区间)内要完成的步数就增加了,步数增加会引起计算量增大,导致舍入误差积累。因此要选取适当的步长。,选择步长时要考虑两个问题: 1.如何衡量和检验计算结果的精度? 2.如何根据所获得的精度处理步长?,HW: p.201 #6-8,3 单步法的收敛性与稳定性 /* Convergency and Stability */,前面介绍了两大类微分方程数值解法:一类是用差商近似导数得到的尤拉系列公式,另一类是基于平均斜率概念的RungeKutta公式。基本思想都是通

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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