常微分方程出值问题得数值解法课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《常微分方程出值问题得数值解法课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微分方程 问题 数值 解法 课件
- 资源描述:
-
1、2022-12-61常微分方程初值问题的数值解法常微分方程初值问题的数值解法8.2 几种简单的单步法 8.3 Runge Kutta 公式 8.4 单步法的收敛性、相容性与稳定性8.5 线性多步法第八章第八章8.1 引言数值算例2022-12-62本章着重讨论一阶常微分方程初值问题 00)(yxyyxfdxdyxy)(),(在区间a,b上的数值解法。8.1 引言一、问题 这些问题多数情况下求不出解析解,只能用近似的方法求解。常用的近似方法有两类。一类称为近似解析法,如级数解法,逐次逼近法等。另一类称为数值解法,它可以给出解在一些离散点上的近似值。2022-12-63若f(x,y)在区域D=上连
2、续,且关于y满足 李普希兹(Lipschitz)条件,即存在常数L,使Rybxa,2121),(),(yyLyxfyxf21,yy对D 内任两个 均成立,其中L是与x,y无 关的常数,则上面的初值问题存在唯一解,且解是连续可微的。二、解的存在唯一性Remark:在f(x,y)对y可微的情况下,若偏导数有界,则可取 ,此时有之间。与介于21212121y,)(),(),(),(yyyLyyyxfyxfyxfyyxfLDyx),(max),(此时Lipschitz连续条件显然成立。这是验证该条件的最简便的方法。2022-12-64解的适定性是指解的存在唯一性以及数值稳定性。此处主要是指解对于右端项
3、以及初值扰动的适应性。关于适定性有如下的结论:三、解的适定性定理:若f(x,y)在区域D=上满足Lipschitz连续条件,则初值问题是适定的。Rybxa,四、等价的积分方程若y(x)是初值问题的解,对方程两边同时积分,利用初始条件可得:xxdttytfxyxy0)(,()()(0该方程为与初值问题同解的积分方程,我们可以从积分方程出发去构造初值问题的求解公式。2022-12-65 常微分方程初值问题的数值解是求上述初值问题的解y(x)在区间a,b中的点列),(nihxxiii101上的近似值 。称为步长,iyih一般情况下我们取等步长,记为h。五、数值解法)(nxy初值问题的解析解(理论解)
4、用 表示,数值解法的精确解用 表示,并记fn=f(xn,yn),而 。ny)(,()(nnnxyxfxy求初值问题的数值解一般是逐步进行的,即计算出yn之后计算yn+1。2022-12-66数值解法一般分为:(1)单步法:在计算 时,只用到 ,和 ,即前一步的值。nx1nyny1nx (2)多步法:计算 时,除用到 ,和 以外,还要用 和 ,即前 k步的值。1nypny1nxnxnypnx)0;,2,1(kkp数值解法的分类单步法和多步法都有显式和隐式方法之分。显式和隐式的单步法可以分别写成:),(hyxhyynnnn,1),(hyyxhyynnnnn,11对多步法来说,显式和隐式方法具有相同
5、的意义。2022-12-67六、离散化方法建立常微分方程初值问题数值解法的过程,就是通过一定的离散化方法,将对连续性问题的求解转化为求解常微分方程在有限个离散节点上解的近似值的过程,这个过程通常称为数值离散数值离散常用的数值离散化方法有:n差商代替微商法nTaylor展开法 n数值积分法 2022-12-68一、显式欧拉(一、显式欧拉(Euler)公式公式 设节点为 ,欧拉方法的计算公式),(nnnhxxn,2100),)(,(2101nyxhfyynnnn8.2 几种简单的单步法这是一种最简单的显式单步方法,该方法可以通过不同的途径获得。),2,1,0)(,(1nyxfhyynnnn1、差商
6、法用两点差商公式 代替导数 ,再用 表示 的近似值,则得到nnnnxxxyxy11)()(ny)(nxy)(nxy2022-12-69假设在 附近把y(x)展成Taylor级数nx)(2)()()(2nnnnxyhxyhxyhxy取h的线性部分,并用 表示 的近似值,得ny)(nxy),2,1,0)(,(1nyxhfyynnnn显式欧拉(显式欧拉(Euler)方公式方公式(续)2、Taylor展开法3、数值积分法1)(,()()(1nnxxnndttytfxyxy对微分方程两端从xn到xn+1积分,得等价的积分方程对右端的积分部分采用左矩形公式近似即得Euler公式。Remark:Taylor
7、展开法与数值积分法是构造微分方程数值解的两类主要的方法。2022-12-610欧拉(欧拉(Euler)方法的几何意义方法的几何意义Euler方法有明显的几何意义。如右图所示,一阶常微分方程初值问题的解曲线y(x)过点P0(x0,y0)。从P0出发以f(x0,y0)为斜率作一直线段,与x=x1相交于点P1(x1,y1),显然有y1=y0+hf(x0,y0)。同理,再由P1出发以f(x1,y1)为斜率作一直线段,与x=x2相交于点P2(x2,y2),显然有y2=y1+hf(x1,y1)。这样一直做下去,得到一条折线P0P1P2,作为y(x)的近似曲线。因此,显示Euler公式又称为Euler折线法
8、。2022-12-611二、隐式二、隐式Euler公式公式dttytfxyxynnxxnn),()()1)(1中将积分用右矩形公式),(,)(2)(2baabfbfabdxxfba)()()(代入,有,2,1,0),(,()()(111nxyxhfxyxynnnn上式是一个隐式的单步方法,称为隐式欧拉公式或后退的欧拉公式。利用此公式,每一步都要把上式作为yn+1的一个方程来求解。从数值积分的误差分析,很难期望隐式欧拉法比显式欧拉法更精确。若在等价积分方程 从而得到,2,1,0),(111nyxhfyynnnn2022-12-612隐式隐式Euler公式(续)公式(续)通常情况下,隐式欧拉公式很
9、难直接求出yn+1的值,故常用迭代法求解。在实际计算时,该公式通常与显式Euler公式结合使用,并由显式Euler公式的结果作为迭代的初始值,从而有如下数值格式1,2,1),(),()(11)1(1)0(1Nnyxhfyyyxhfyysnnnsnnnnn对 循环计算,若 (为给定的误差限),则取 作为yn+1的近似值,2,1,0s)(1)1(1snsnyy)1(1sny2022-12-613隐式隐式Euler公式(续)公式(续)由于f(x,y)关于y满足Lipschitz条件,故有1)0(111)(111)(111)1(1)(),(),(nnsnsnnnsnnnsnyyhLyyhLyxfyxf
10、hyy故当 时该迭代法收敛到隐式Euler公式的解yn+1,其中L为Lipschitz常数1hL2022-12-614三、梯形公式三、梯形公式为了得到更精确的方法,在等价的积分方程中用梯形公式),(),(1223bafabbfafabdxxfba)()()()(,2,1,0),(),(2111nyxfyxfhyynnnnnn近似积分项,再分别用yn,yn+1代替y(xn)和y(xn1),即可得到梯形公式:该方法也是一种隐式的单步方法。对该方法,从n0开始计算,每步都要求解yn+1的一个方程。一般来说,这是一非线性方程,可迭代计算如下:2022-12-615,2,1,0,),(),(2),(11
11、 1101syxfyxfhyyyxhfyysnnnnnsnnnnn梯形公式(续)梯形公式(续)使用上式时,先用第一式计算出yn+1的近似值 ,再用第二式反复进行迭代,得到数列 ,用 来控制是否继续进行迭代,其中为允许误差。把满足要求的 作为y(xn+1)的近似值yn+1,类似地可得出yn+2,yn+3,。01ny 01 ssny1 11snsnyy11sny2022-12-616011111111111122)2nnssnnsnnnnsnnyyhLyyhLyxfyxfhyy,(),(梯形公式(续)梯形公式(续)当f(x,y)关于y满足Lipschitz条件时,且步长h满足 时,上述迭代过程是收
12、敛的。这是因为:121hL2022-12-617实用中,h 取得较小时,为了简化计算,梯形公式第二式只迭代一次就结束,得到Euler预测校正方法(改进的Euler方法):),(),(2),(011101nnnnnnnnnnyxfyxfhyyyxhfyy其中第一式称为预测算式,第二式称为校正算式。四、四、EulerEuler预测校正公式预测校正公式2022-12-618Euler预测校正公式(续)预测校正公式(续)若将Euler预-校方法中的第一式带入第二式,得),(,(),(211nnnnnnnnyxhfyxfyxfhyyRemark:这是一种显示的单步方法。有时为了计算方便,常将上式改写成:
13、),(),()(2121211hKyhxfKyxfKKKhyynnnnnn2022-12-619五、单步法的局部截断误差和阶五、单步法的局部截断误差和阶 设一般的单步法为:显式公式:),(hyxhyynnnn1隐式公式:),(hyyxhyynnnnn11设 为数值方法的精确值,y()为微分方程的精确解。nxnynnnyxye)(nx定义1:为某一数值方法在 处的整体截断误差。Remark:整体截断误差不仅与 这步的计算有关,而且与前面所有点的计算的误差累计有关。为了简化误差分析,我们着重分析计算中的某一步。对一般的显式单步法,有如下定义:nx2022-12-620单步法的局部截断误差和阶单步法
14、的局部截断误差和阶(续)),(,()()(),()()(1111hxyxhxyxyhyxhyxyyxynnnnnnnnnn这就是上面定义中称Rn+1为“局部”的含义,我们一般用该式作为定义。这里应该注意,Rn+1和整体截断误差en+1是不同的。)(nnxyy 若设 ,即第n步及以前各步都没有误差,则由显示单步法计算一步所得之 与 之差为:1ny)(1nxy即在 的假设下,。111)(nnnyxyR)(nnxyy 定义2:对单步法,在 的假设下,称 为在 处的局部截断误差。)(nnxyy),(,()()(11hxyxhxyxyRnnnnn1nx2022-12-621单步法的局部截断误差和阶单步法
15、的局部截断误差和阶(续)Remark:由前面的定义可知,若某个单步方法是一种p阶方法,则有Rn+1=O(hp+1),即p阶方法的局部截断误差为h的p1阶。我们往往比较关心Rn+1按h展开式的第一项。定义4:若一个单步方法是一种p阶方法,其局部截断误差可以写成:)()(,(211ppnnnhOhxyxR则(xn,y(xn)hp+1称为方法的主局部截断误差,或局部截断误差的主项。定义3:若一个单步方法的局部截断误差为O(hp+1),即则称该方法为p阶方法(其中p为正整数)。)(),(,()()(111pnnnnhOhxyxhxyxyR2022-12-622例1:求显示Euler公式的局部截断误差。
16、)()(2321hOxyhRnn单步法的局部截断误差和阶单步法的局部截断误差和阶(续)故显示Euler公式是一阶方法,局部截断误差为:主局部截断误差为:。)(22nxyh)()(!31)(21)()()()(,()()(),(,()()(2321111hOxyhxyhxyhxyxyxyxhfxyxyhxyxhxyxyRnnnnnnnnnnnnnn 2022-12-623例2:求Euler预测校正公式),(),(2),(011101nnnnnnnnnnyxfyxfhyyyxhfyy的局部截断误差。单步法的局部截断误差和阶单步法的局部截断误差和阶(续))()(,2)(2)()(,()(,)(,(2
17、)()(),(,()()(11111nnnnnnnnnnnnnnnnnnnxyhxyhxfhxyhxyxyxyxhfxyxfxyxfhxyxyhxyxhxyxyR2022-12-624单步法的局部截断误差和阶单步法的局部截断误差和阶(续))()(,(2)()(,(2)(2)(,(2)(,()()(,()(,(2)(2)(32222222221hOyxyxfxyhyxxyxfxyhxxyxfhyxyxfxyhxxyxfhxyxfhxyhxyxynnnnnnnnnnnnnnnnnn又由)(,()(xyxfxyyxyxfxyxxyxfxy)(,()()(,()(故)()()(2)()(33211hO
18、hOxyhxyhxyxyRnnnnn 故Euler预测校正方法为二阶方法。2022-12-625单步法的局部截断误差和阶单步法的局部截断误差和阶(续)例3:求隐式Euler公式的局部截断误差。)()()(,()()(),(),(,()()(11111111nnnnnnnnnnnnnxyhxyxyxyxhfxyxyhxyxyxhxyxyR)()(2321hOxyhRnn 故隐式Euler公式是一阶方法。将上式中 、均在 处做Taylor展开,整理得)(1nxy)(1nxynx2022-12-626类似地可以证明,梯形公式的局部截断误差为:单步法的局部截断误差和阶单步法的局部截断误差和阶(续))(
19、)(12431hOxyhRnn 即梯形公式为二阶方法。2022-12-627一、一、Taylor 方法方法 假定初值问题的解y(x)以及函数f(x,y)是足够光滑的,有)()(!)(!2)()(1)(21pnppnnnnhOxyphxyhxhyxyxy)()()(,(!)(,(!2)(,()(1)1(2pnnppnnnnnhOxyxfphxyxfhxyxhfxy8.3 Runge Kutta 公式 Taylor展开法与数值积分法是推导高阶方法的常用手段。本节以Taylor展开法为基础,介绍如何推导高阶单步法。)(21!2pnpnnnnyphyhyhyy 当h充分小时,略去余项 ,将y(k)(x
20、n)用 来代替,则有p阶Taylor方法:)(1phO)(kny)(kny其中 (k=1,2,p)根据求导法则,其计算公式为:2022-12-628),(nnnyxfy),(),(),(nnynnnnxnyxfyxfyxfy),(2 22nnyyxyyxyxxnyxfffffffffyTaylor 方法(续)方法(续)Remark1:显然,p阶Taylor方法的局部截断误差为 。当p=1时,Taylor方法就是Euler方法。当p2时,需要计算公式中的高阶导数。)()()!1(12)1(11pnppnhOxyhpRRemark2:显然,Taylor方法可以得到任意阶精度的方法。但在实际计算中,
21、Taylor方法往往相当困难,因为公式中的高阶导数会很复杂。故Taylor方法很少单独使用,但常用它来启发思路。2022-12-629二、二、RungeKutta方法方法Euler公式:)(),(21111hORyxfkhkyynnnnn改进的Euler预测校正格式:)()231121211hORhkyhxfkyxfkkkhyynnnnnnn),(),(基本思想:用不同点的函数值作线性组合,构造高阶单步的近似公式,把近似公式和解的Taylor展开式比较,使前面尽可能多的项完全相同。这种方法间接应用Taylor展开的思想,避免了高阶导数计算的困难。2022-12-630一般的Runge-Kutt
22、a方法的形式为rikhyhxfkyxfkkchyxhyxhyyijjijnininnriiinnnnnn,3,2,),(),(11111,),(其中,为常数。选取这些常数的原则是使其截断误差阶尽可能高。iijiC,RungeKutta方法(续)方法(续)2022-12-631下面以二级RungeKutta公式为例进行具体推导。),(),(12122122111),(),(KhyhxfKyxfKKcKchyxhyxhyynnnnnnnnnn对 要求适当选取系数 ,使当 时,上式的局部截断误差为 ,即成为二阶方法。21221,cc)(nnxyy)3(hORungeKutta方法(续)方法(续)20
23、22-12-632RungeKutta方法(续)方法(续)1112221231222212()()(,(),)()()(),()()11()()()()()()2!3!1(,)(,)()(,)()(2nnnnnnnnnnnnnnnnxyxxy xy xhxy xhy xy xh c y xc f xh y xhy xy xhy xh y xh yxy xc hy xc hf x yhfx yhy x fx yhfx22322121(,(),)1()(,)()(,)()2nnxyyyxy xyhy x fx yhy xfx yO h按照局部截断误差的定义,有2022-12-633RungeKut
24、ta方法(续)方法(续)21222221(,()32222221224221(,()1(1)()()(,)()(,)21()(,)()(,)3!1()(,)()2nnnnnxyxy xxxxyyyxy xcc hy xhy xcfx ycy x fx yhyxcfx ycy x fx ycy xfx yO h 21222221(,()32222222212214(,()11(1)()2211111623621()()6nnnnnxyxy xxxxyyyyxyxy xcc hy xhcfcffhcfcffcf fffffO h 2022-12-634RungeKutta方法(续)方法(续)要使上
25、式等于 ,只需满足)(3hO021021012122221cccc在上式中有四个未知量,三个方程,故可以得到无穷多组解,也就是可以得到无穷多个二级二阶Runge-Kutta公式由于是二级方法,从而有 ,此时上式可以改写为02c221221211ccc在上述方程中,选取不同的c2,即可获得不同的二级二阶Runge-Kutta方法。常用的二阶Runge-Kutta方法有:2022-12-6351,2121221cc),(),()(2121211hKyhxfKyxfKKKhyynnnnnnEuler预测校正格式)2,2(),(12121KhyhxfKyxfKhKyynnnnnn中(间)点公式21,1
展开阅读全文