第九章常微分方程的数值解法课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第九章常微分方程的数值解法课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第九 微分方程 数值 解法 课件
- 资源描述:
-
1、 第九章第九章 常微分方程的数值解法常微分方程的数值解法 1、引言引言 2、初值问题的数值解法、初值问题的数值解法-单步法单步法 3、龙格、龙格-库塔方法库塔方法 4、收敛性与稳定性收敛性与稳定性 5、初值问题的数值解法、初值问题的数值解法多步法多步法 6、方程组和刚性方程、方程组和刚性方程 7、习题和、习题和总结总结主主 要要 内内 容容主主 要要 内内 容容研究的问题研究的问题数值解法的意义数值解法的意义1、引引 言言现实世界中大多数事物内部联系非常复杂找出其状态和状态变化规律之间的相互联系,也即一个或一些函数与他们的导数之间的关系此种关系的数学表达就为1.1.什么是微分方程什么是微分方程
2、?如何建立数学模型已在建模课程中得到讨论,各类微分方程本身和他们的解所具有的特性已在常微分方程及数学物理方程中得以解释,寻找解析解的过程称为求解微分方程组。寻找解析解的过程称为求解微分方程组。一个或一组具有所要求阶连续导数的解析函数,将它代入微分方程(组),恰使其所有条件都得到满足的解称为解析解解析解(或古典解或古典解),),称为真解或解。称为真解或解。4.4.什么是微分方程的数值解什么是微分方程的数值解?虽然求解微分方程有许多解析方法,但解析方法只能够求解一些特殊类型的方程,从实际意义上来讲我们更关心的是某些 特定的自变量在某一个定义范围内的一系列离散点一系列离散点上的近似值.寻找数值解的过
3、程称为数值求解微分方程。寻找数值解的过程称为数值求解微分方程。数值解数值解在大量的实际方程中出现的函数起码的连续性都无法保证,更何况要求阶的导数求解数值解很多微分方程很多微分方程根本求不到根本求不到问题的解析解!问题的解析解!重要手段。常微分方程的数值解法常用来求近似解根据提供的算法通过计算机通过计算机便捷地实现便捷地实现5.常微分方程数值解法的特点常微分方程数值解法的特点00(,)(1.1)()(1.2)yf x yaxby xy本章主要讨论一阶常微方程的初值问题6.基本知识基本知识其中f(x,y)是已知函数,(1.2)是定解条件也称为初值条件。初值条件。则称 f(x,y)对y 满足李普希兹
4、条件,L 称为Lipschitz常数.常微分方程的理论指出:常微分方程的理论指出:当 f(x,y)定义在区域 G=(axb,y)若存在正的常数 L 使:1212|(,)(,)|(1.3)f x yf x yL yy12,xa byy使得对任意的及都成立就可保证方程解的存在唯一性就可保证方程解的存在唯一性(Lipschitz)条件条件我们以下的讨论,都在满足上述条件下进行.若 f(x,y)在区域 G连续,关于y一阶常微分方程的初值问题的解存在且唯一问题的解存在且唯一.一阶常微分方程组常表述为:1111(,)()(,)mmmmyf x yyaxbyfx yy 1010()()mmyxyx写成向量形
5、式为(1)()00000(,)(),(,)mTyf x yaxby xyxxx高阶常微分方程定解问题如二阶定解问题:(,)()()yfxyyaxbyay a这些解法都可以写成向量形式简单的数值方法与基本概念简单的数值方法与基本概念 1.简单简单欧拉法(欧拉法(Euler)2后退的欧拉法后退的欧拉法 3梯形法梯形法 4改进改进EulerEuler法法 2、初值问题的数值解法、初值问题的数值解法单步法单步法1.简单的欧拉简单的欧拉(Euler)方法方法考虑模型:00(,)(1.1)()(1.2)yf x yaxby xy 在精度要求不高时通过欧拉方法的讨论欧拉方法欧拉方法2.欧拉方法的导出欧拉方法
6、的导出把区间a,b分为n个小区间步长为要计算出解函数 y(x)在一系列节点()iiyy x)/()(iiixaihhhban,一般取即等距节点处的近似值01 naxxxb1(-)iiihxxN N等分等分00(,)(1.1)()(1.2)yfx yaxby xy 对微分方程(1.1)两端从1nnxx到进行积分11(,()nnnnxxxxy dxfx y xdx11()()(,()nnxnnxy xy xf x y x dx右端积分用右端积分用左矩形数值左矩形数值求积公式求积公式2()()()()()2bagg x dxba g aba()(,()g xf x y x令1)1(,()(,()nn
7、nnxxnnf xy xnnyyf xy xh得x0 x11()()()(,)nnnnnny xy xhy xyh f xy)1,.,0(),(1 niyxfhyyiiii亦称为亦称为欧拉折线法欧拉折线法/*Eulers polygonal arc method*/每步计算只用到1ny或用向前差商近似导数1()()()nnny xy xyxh100021111(,)(,)(,)nnnnyyhf xyyyhf xyyyhf xy依上述公式逐次计算可得:ny例题3.欧拉公式有明显的几何意义依此类推得到一折线故也称Euler为单步法。ny公式右端只含有已知项所以又称为显格式的单步法。00001112
8、2(,)()(,)()(,)(,)xyy xxyy xxxxyxy 过 点 的 曲 线 是 解 在 作 的 切 线 与 直 线 交 于 再 作 切 线 交 于 也称欧拉折线法.就是用这条折线近似地代替曲线()y x()yy xxynx1nxnp1np1np x从上述几何意义上得知,由Euler法所得的折线明显偏离了积分曲线,可见此方法非常粗糙。非常粗糙。4.欧拉法的局部截断误差:在假设第 i 步计算是精确的前提下,考虑截断误差称为局部截断误差/*local truncation error*/。1()iiiRyxy定义定义若某算法的局部截断误差为O(hp+1),则称该算法有p 阶精度。Ri 的
9、的主项主项/*leading term*/欧拉法的局部截断误差:232()()hiyxO h欧拉法具有 1 阶精度。),()()()()()(32112iiiihiiiiiyxhfyhOxyxyhxyyxyR 定义定义在假设 yi=y(xi),即第 i 步计算是精确的前提下,考虑的截断误差 Ri=y(xi+1)yi+1 称为局部截断误差/*local truncation error*/。如果单步差分公式的局部截断误差为O(hp+1),则称该公式为p p阶方法阶方法.这里p为非负整数.显然,阶数越高,方法的精度越高.Taylor展开式,一元函数的Taylor展开式为:321!3)(!2)()(
10、)()()(hxyhxyhxyxyhxyxynnnnnn23()()()()()(,)112hRy xyy xhy xy xO hyhf x yiiiiiiiii232()()hiyxO h若某算法的局部截断误差为若某算法的局部截断误差为O(hp+1),则称该算法有,则称该算法有p 阶精度。阶精度。Ri 的的主项主项/*leading term*/5.欧拉公式的改进欧拉公式的改进:隐式欧拉法隐式欧拉法/*implicit Euler method*/向后差商近似导数向后差商近似导数hxyxyxy)()()(011 x0 x1)(,()(1101xyxfhyxy )1,.,0(),(111 ni
11、yxfhyyiiii由于未知数由于未知数 yi+1 同时出现在等式的两边,不能直接得到,故同时出现在等式的两边,不能直接得到,故称为称为隐式隐式/*implicit*/欧拉公式,而前者称为欧拉公式,而前者称为显式显式/*explicit*/欧拉公式。欧拉公式。一般先用显式计算一个初值,再一般先用显式计算一个初值,再迭代迭代求解。求解。隐式隐式欧拉法的局部截断误差:欧拉法的局部截断误差:11)(iiiyxyR)()(322hOxyih 即隐式欧拉公式具有即隐式欧拉公式具有 1 阶精度。阶精度。6.梯形公式梯形公式/*trapezoid formula*/显、隐式两种算法的显、隐式两种算法的平均平
12、均)1,.,0(),(),(2111 niyxfyxfhyyiiiiii注:注:的确有局部截断误差的确有局部截断误差 ,即梯形公式具有即梯形公式具有2 阶精度,比欧拉方法有了进步。阶精度,比欧拉方法有了进步。但注意到该公式是但注意到该公式是隐式隐式公式,计算时不得不用到公式,计算时不得不用到迭代法,其迭代收敛性与欧拉公式相似。迭代法,其迭代收敛性与欧拉公式相似。)()(311hOyxyRiii 中点欧拉公式中点欧拉公式/*midpoint formula*/中心差商近似导数中心差商近似导数hxyxyxy2)()()(021 x0 x2x1)(,(2)()(1102xyxfhxyxy 1,.,1
13、),(211 niyxfhyyiiii假设假设 ,则可以导出,则可以导出即中点公式具有即中点公式具有 2 阶精度。阶精度。)(),(11iiiixyyxyy )()(311hOyxyRiii 需要需要2个初值个初值 y0和和 y1来启动递推来启动递推过程,这样的算法称为过程,这样的算法称为双步法双步法/*double-step method*/,而前面的三种算法都是,而前面的三种算法都是单步法单步法/*single-step method*/。方方 法法 显式欧拉显式欧拉隐式欧拉隐式欧拉梯形公式梯形公式中点公式中点公式简单简单精度低精度低稳定性最好稳定性最好精度低精度低,计算量大计算量大精度提
14、高精度提高计算量大计算量大精度提高精度提高,显式显式多一个初值多一个初值,可能影响精度可能影响精度 改进欧拉法改进欧拉法/*modified Eulers method*/Step 1:先用先用显式显式欧拉公式作欧拉公式作预测预测,算出,算出),(1iiiiyxfhyy Step 2:再将再将 代入代入隐式隐式梯形公式的右边作梯形公式的右边作校正校正,得到,得到1 iy),(),(2111 iiiiiiyxfyxfhyy注:注:此法亦称为此法亦称为预测预测-校正法校正法/*predictor-corrector method*/。可以证明该算法具有可以证明该算法具有 2 阶精度,同时可以看到它
15、是个阶精度,同时可以看到它是个单单步步递推格式,比隐式公式的迭代求解过程递推格式,比隐式公式的迭代求解过程简单简单。后面将。后面将看到,它的看到,它的稳定性高稳定性高于显式欧拉法。于显式欧拉法。)1,.,0(),(,),(211 niyxfhyxfyxfhyyiiiiiiii3 龙格龙格-库塔法库塔法/*Runge-Kutta Method*/考察改进的欧拉法,可以将其改写为:考察改进的欧拉法,可以将其改写为:),(),(2121121211hKyhxfKyxfKKKhyyiiiiii 斜率斜率一定取一定取K1 K2 的的平均值平均值吗?吗?步长一定是一个步长一定是一个h 吗?吗?单步递推法的
16、单步递推法的基本思想基本思想是从是从(xi,yi)点出发,以点出发,以某一斜某一斜率率沿直线达到沿直线达到(xi+1,yi+1)点。欧拉法及其各种变形所点。欧拉法及其各种变形所能达到的最高精度为能达到的最高精度为2阶阶。建立高精度的单步递推格式。建立高精度的单步递推格式。首先希望能确定系数首先希望能确定系数 1、2、p,使得到的算法格式有,使得到的算法格式有2阶阶精度,即在精度,即在 的前提假设下,使得的前提假设下,使得 )(iixyy )()(311hOyxyRiii Step 1:将将 K2 在在(xi,yi)点作点作 Taylor 展开展开)(),(),(),(),(2112hOyxfp
17、hKyxphfyxfphKyphxfKiiyiixiiii )()()(2hOxyphxyii 将改进欧拉法推广为:将改进欧拉法推广为:),(),(12122111phKyphxfKyxfKKKhyyiiiiii ),(),(),(),(),(),()(yxfyxfyxfdxdyyxfyxfyxfdxdxyyxyx Step 2:将将 K2 代入第代入第1式,得到式,得到 )()()()()()()()(322212211hOxyphxyhyhOxyphxyxyhyyiiiiiiii Step 3:将将 yi+1 与与 y(xi+1)在在 xi 点的点的泰勒泰勒展开作比较展开作比较)()()(
18、)(322211hOxyphxyhyyiiii )()(2)()()(321hOxyhxyhxyxyiiii 要求要求 ,则必须有:,则必须有:)()(311hOyxyRiii21,1221 p 这里有这里有 个未知个未知数,数,个方程。个方程。32存在存在无穷多个解无穷多个解。所有满足上式的格式统称为。所有满足上式的格式统称为2阶龙格阶龙格-库库塔格式塔格式。21,121 p注意到,注意到,就是改进的欧拉法。就是改进的欧拉法。Q:为获得更高的精度,应该如何进一步推广?为获得更高的精度,应该如何进一步推广?其中其中 i (i=1,m),i (i=2,m)和和 ij(i=2,m;j=1,i 1)
19、均为待定均为待定系数,确定这些系数的系数,确定这些系数的步骤与前面相似。步骤与前面相似。).,(.),(),(),(.1122112321313312122122111 mm mmmmimiiiiiimmiihKhKhKyhxfKhKhKyhxfKhKyhxfKyxfKKKKhyy 最常用为四级最常用为四级4阶阶经典龙格经典龙格-库塔法库塔法/*Classical Runge-Kutta Method*/:),(),(),(),()22(34222312221432161hKyhxfKKyxfKKyxfKyxfKKKKKyyiihihihihiiihii 注:注:龙格龙格-库塔法库塔法的主要运
20、算在于计算的主要运算在于计算 Ki 的值,即计算的值,即计算 f 的的值。值。Butcher 于于1965年给出了计算量与可达到的最高精年给出了计算量与可达到的最高精度阶数的关系:度阶数的关系:753可达到的最高精度可达到的最高精度642每步须算每步须算Ki 的个数的个数)(2hO)(3hO)(4hO)(5hO)(6hO)(4hO)(2nhO8n 由于龙格由于龙格-库塔法的导出基于泰勒展开,故精度主要受库塔法的导出基于泰勒展开,故精度主要受解函数的光滑性影响。对于光滑性不太好的解,最好解函数的光滑性影响。对于光滑性不太好的解,最好采用采用低阶算法低阶算法而将步长而将步长h 取小取小。深入研究龙
21、格深入研究龙格-库塔法请看库塔法请看此处此处!4 收敛性与稳定性收敛性与稳定性 /*Convergency and Stability*/1.收敛性收敛性/*Convergency*/定义定义 若某算法对于任意固定的若某算法对于任意固定的 x=xi=x0+i h,当,当 h0(同时同时 i )时有时有 yi y(xi),则称该算法是,则称该算法是收敛收敛的。的。例:例:就初值问题就初值问题 考察欧拉显式格式的收敛性。考察欧拉显式格式的收敛性。0)0(yyyy 解:解:该问题的精确解为该问题的精确解为 xeyxy 0)(欧拉公式为欧拉公式为iiiiyhyhyy)1(1 0)1(yhyii 对任意
22、固定的对任意固定的 x=xi=i h,有,有iixhhxihyhyy )1()1(/10/0 ehhh /10)1(lim)(0ixxyeyi 2.稳定性稳定性/*Stability*/例:例:考察初值问题考察初值问题 在区间在区间0,0.5上的解。上的解。分别用欧拉显、隐式格式和改进的欧拉格式计算数值解。分别用欧拉显、隐式格式和改进的欧拉格式计算数值解。1)0()(30)(yxyxy0.00.10.20.30.40.5精确解精确解改进欧拉法改进欧拉法 欧拉隐式欧拉隐式欧拉显式欧拉显式 节点节点 xixey30 1.0000 2.0000 4.0000 8.0000 1.6000 101 3.
23、2000 101 1.00002.5000 10 1 6.2500 10 21.5625 10 23.9063 10 39.7656 10 41.00002.50006.25001.5626 1013.9063 1019.7656 1011.00004.9787 10 22.4788 10 31.2341 10 46.1442 10 63.0590 10 7What is wrong?!定义定义若某算法在计算过程中任一步产生的误差在以后的计若某算法在计算过程中任一步产生的误差在以后的计算中都算中都逐步衰减逐步衰减,则称该算法是,则称该算法是绝对稳定的绝对稳定的/*absolutely stab
24、le*/。一般分析时为简单起见,只考虑一般分析时为简单起见,只考虑试验方程试验方程/*test equation*/yy 常数,可以常数,可以是复数是复数当步长取为当步长取为 h 时,将某算法应用于上式,并假设只在初值时,将某算法应用于上式,并假设只在初值产生误差产生误差 ,则若此误差以后逐步衰减,就称该,则若此误差以后逐步衰减,就称该算法相对于算法相对于 绝对稳定绝对稳定,的全体构成的全体构成绝对稳定区域绝对稳定区域。我们称我们称算法算法A 比算法比算法B 稳定稳定,就是指,就是指 A 的绝对稳定区域比的绝对稳定区域比 B 的的大大。000yy h h h例:例:考察显式欧拉法考察显式欧拉法
25、011)1(yhyhyyiiii 000yy 011)1(yhyii 01111)1(iiiihyy由此可见,要保证初始误差由此可见,要保证初始误差 0 以后逐步衰减,以后逐步衰减,必须满足:必须满足:hh 1|1|h0-1-2ReImg例:例:考察隐式欧拉法考察隐式欧拉法11 iiiyhyy iiyhy 11101111 iih可见绝对稳定区域为:可见绝对稳定区域为:1|1|h210ReImg注:注:一般来说,隐式欧拉法的绝对稳定性比同阶的显式一般来说,隐式欧拉法的绝对稳定性比同阶的显式法的好。法的好。例:例:隐式龙格隐式龙格-库塔法库塔法 ),.,1().,(.11111mjhKhKyhx
展开阅读全文