九章常微分方程的数值解法.ppt





《九章常微分方程的数值解法.ppt》由会员分享,可在线阅读,更多相关《九章常微分方程的数值解法.ppt(113页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、九章常微分方程的数值解法 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望主主 要要 内内 容容研究的问题研究的问题数值解法的意义数值解法的意义1、引引 言言现实世界中大多数事物内部联系非常复杂找出其状态和状态变化规律之间的相互联系,也即一个或一些函数与他们的导数之间的关系此种关系的数学表达就为微分方程微分方程微分方程微分方程1.1.什么是微分方程什么是微分方程?其状态随着其状态随着时间、地点、条件时间、地点、条件的不同而不同的不同而不同如何利用数值方法求解微分方程
2、(组)的问题。如何利用数值方法求解微分方程(组)的问题。2.2.数值求解微分方程的意义数值求解微分方程的意义如何建立数学模型已在建模课程中得到讨论,各类微分方程本身和他们的解所具有的特性已在常微分方程及数学物理方程中得以解释,本章专门本章专门讨论讨论寻找解析解的过程称为求解微分方程组。寻找解析解的过程称为求解微分方程组。一个或一组具有所要求阶连续导数的解析函数,将它代入微分方程(组),恰使其所有条件都得到满足的解称为解析解解析解(或古典解或古典解),),称为真解或解。称为真解或解。3.什么是微分方什么是微分方程程(组组)的解析解的解析解?3.什么是微分方程什么是微分方程(组组)的解析解的解析解
3、?4.4.什么是微分方程的数值解什么是微分方程的数值解?虽然求解微分方程有许多解析方法,但解析方法只能够求解一些特殊类型的方程,从实际意义上来讲我们更关心的是某些 特定的自变量在某一个定义范围内的一系列离散点一系列离散点上的近似值.寻找数值解的过程称为数值求解微分方程。寻找数值解的过程称为数值求解微分方程。把这样一组近似解称为把这样一组近似解称为微分方程在该范围内的微分方程在该范围内的数值解数值解在大量的实际方程中出现的函数起码的连续性都无法保证,更何况要求阶的导数求解数值解很多微分方程很多微分方程根本求不到根本求不到问题的解析解!问题的解析解!重要手段。常微分方程的数值解法常用来求近似解根据
4、提供的算法通过计算机通过计算机便捷地实现便捷地实现5.常微分方程数值解法的特点常微分方程数值解法的特点数值解法得到的近似数值解法得到的近似解解(含误差含误差)是一个是一个离散的函数表离散的函数表.本章主要讨论一阶常微方程的初值问题6.基本知识基本知识其中f(x,y)是已知函数,(1.2)是定解条件也称为初值条件。初值条件。各各种种数数值值解解法法则称 f(x,y)对y 满足李普希兹条件,L 称为Lipschitz常数.常微分方程的理论指出:常微分方程的理论指出:当 f(x,y)定义在区域 G=(axb,y)若存在正的常数 L 使:就可保证方程解的存在唯一性就可保证方程解的存在唯一性(Lipsc
5、hitz)条件条件我们以下的讨论,都在满足上述条件下进行.若 f(x,y)在区域 G连续,关于y一阶常微分方程的初值问题的解存在且唯一问题的解存在且唯一.满足李普希兹满足李普希兹满足李普希兹满足李普希兹条件条件条件条件一阶常微分方程组常表述为:方程组方程组方程组方程组初值条件初值条件初值条件初值条件写成向量形式为高阶常微分方程定解问题如二阶定解问题:也就解决了高阶方程的定解问题也就解决了高阶方程的定解问题.这些解法都可以写成向量形式用于一阶常微分方程组的初值问题用于一阶常微分方程组的初值问题.简单的数值方法与基本概念简单的数值方法与基本概念 1.简单简单欧拉法(欧拉法(Euler)2后退的欧拉
6、法后退的欧拉法 3梯形法梯形法 4改进改进EulerEuler法法 2、初值问题的数值解法、初值问题的数值解法单步法单步法1.简单的欧拉简单的欧拉(Euler)方法方法考虑模型:在精度要求不高时通过欧拉方法的讨论弄清常微方程初值弄清常微方程初值弄清常微方程初值弄清常微方程初值问题数值解法的一问题数值解法的一问题数值解法的一问题数值解法的一些基本概念和构造些基本概念和构造些基本概念和构造些基本概念和构造方法的思路方法的思路方法的思路方法的思路.欧欧拉拉方方法法最简单而直观最简单而直观最简单而直观最简单而直观实用方法实用方法实用方法实用方法2.欧拉方法的导出欧拉方法的导出把区间a,b分为n个小区间
7、步长为要计算出解函数 y(x)在一系列节点节点处的近似值N N等分等分对微分方程(1.1)两端从进行积分右端积分用右端积分用左矩形数值左矩形数值求积公式求积公式得x0 x1亦称为亦称为欧拉折线法欧拉折线法/*Eulers polygonal arc method*/每步计算只用到或用向前差商近似导数依上述公式逐次计算可得:例题3.欧拉公式有明显的几何意义依此类推得到一折线故也称Euler为单步法。公式右端只含有已知项所以又称为显格式的单步法。也称欧拉折线法.就是用这条折线近似地代替曲线欧拉方法欧拉方法从上述几何意义上得知,由Euler法所得的折线明显偏离了积分曲线,可见此方法非常粗糙。非常粗糙
8、。4.欧拉法的局部截断误差:在假设第 i 步计算是精确的前提下,考虑截断误差称为局部截断误差/*local truncation error*/。若某算法的局部截断误差为O(hp+1),则称该算法有p 阶精度。Ri 的的主项主项/*leading term*/欧拉法的局部截断误差:欧拉法具有 1 阶精度。在假设 yi=y(xi),即第 i 步计算是精确的前提下,考虑的截断误差 Ri=y(xi+1)yi+1 称为局部截断误差/*local truncation error*/。如果单步差分公式的局部截断误差为O(hp+1),则称该公式为p p阶方法阶方法.这里p为非负整数.显然,阶数越高,方法的
9、精度越高.Taylor展开式,一元函数的Taylor展开式为:若某算法的局部截断误差为若某算法的局部截断误差为O(hp+1),则称该算法有,则称该算法有p 阶精度。阶精度。Ri 的的主项主项/*leading term*/5.欧拉公式的改进欧拉公式的改进:隐式欧拉法隐式欧拉法/*implicit Euler method*/向后差商近似导数向后差商近似导数x0 x1)(,()(1101xyxfhyxy+)1,.,0(),(111=+=+niyxfhyyiiii由于未知数由于未知数 yi+1 同时出现在等式的两边,不能直接得到,故同时出现在等式的两边,不能直接得到,故称为称为隐式隐式/*impl
10、icit*/欧拉公式,而前者称为欧拉公式,而前者称为显式显式/*explicit*/欧拉公式。欧拉公式。一般先用显式计算一个初值,再一般先用显式计算一个初值,再迭代迭代求解。求解。隐式隐式欧拉法的局部截断误差:欧拉法的局部截断误差:即隐式欧拉公式具有即隐式欧拉公式具有 1 阶精度。阶精度。6.梯形公式梯形公式/*trapezoid formula*/显、隐式两种算法的显、隐式两种算法的平均平均注:注:的确有局部截断误差的确有局部截断误差 ,即梯形公式具有即梯形公式具有2 阶精度,比欧拉方法有了进步。阶精度,比欧拉方法有了进步。但注意到该公式是但注意到该公式是隐式隐式公式,计算时不得不用到公式,
11、计算时不得不用到迭代法,其迭代收敛性与欧拉公式相似。迭代法,其迭代收敛性与欧拉公式相似。中点欧拉公式中点欧拉公式/*midpoint formula*/中心差商近似导数中心差商近似导数x0 x2x1假设假设 ,则可以导出,则可以导出即中点公式具有即中点公式具有 2 阶精度。阶精度。需要需要2个初值个初值 y0和和 y1来启动递推来启动递推过程,这样的算法称为过程,这样的算法称为双步法双步法/*double-step method*/,而前面的三种算法都是,而前面的三种算法都是单步法单步法/*single-step method*/。方方 法法 显式欧拉显式欧拉隐式欧拉隐式欧拉梯形公式梯形公式中
12、点公式中点公式简单简单精度低精度低稳定性最好稳定性最好精度低精度低,计算量大计算量大精度提高精度提高计算量大计算量大精度提高精度提高,显式显式多一个初值多一个初值,可能影响精度可能影响精度 改进欧拉法改进欧拉法/*modified Eulers method*/Step 1:先用先用显式显式欧拉公式作欧拉公式作预测预测,算出,算出),(1iiiiyxfhyy+=+Step 2:再将再将 代入代入隐式隐式梯形公式的右边作梯形公式的右边作校正校正,得到,得到1+iy),(),(2111+=iiiiiiyxfyxfhyy注:注:此法亦称为此法亦称为预测预测-校正法校正法/*predictor-cor
13、rector method*/。可以证明该算法具有可以证明该算法具有 2 阶精度,同时可以看到它是个阶精度,同时可以看到它是个单单步步递推格式,比隐式公式的迭代求解过程递推格式,比隐式公式的迭代求解过程简单简单。后面将。后面将看到,它的看到,它的稳定性高稳定性高于显式欧拉法。于显式欧拉法。3 龙格龙格-库塔法库塔法/*Runge-Kutta Method*/考察改进的欧拉法,可以将其改写为:考察改进的欧拉法,可以将其改写为:斜率斜率一定取一定取K1 K2 的的平均值平均值吗?吗?步长一定是一个步长一定是一个h 吗吗?单步递推法的单步递推法的基本思想基本思想是从是从(xi,yi)点出发,以点出发
14、,以某一斜某一斜率率沿直线达到沿直线达到(xi+1,yi+1)点。欧拉法及其各种变形所点。欧拉法及其各种变形所能达到的最高精度为能达到的最高精度为2阶阶。建立高精度的单步递推格式。建立高精度的单步递推格式。首先希望能确定系数首先希望能确定系数 1、2、p,使得到的算法格式有,使得到的算法格式有2阶阶精度,即在精度,即在 的前提假设下,使得的前提假设下,使得 Step 1:将将 K2 在在(xi,yi)点作点作 Taylor 展开展开将改进欧拉法推广为:将改进欧拉法推广为:),(),(12122111phKyphxfKyxfKKKhyyiiiiii+=+=+Step 2:将将 K2 代入第代入第
15、1式,得到式,得到Step 3:将将 yi+1 与与 y(xi+1)在在 xi 点的点的泰勒泰勒展开作比较展开作比较要求要求 ,则必须有:,则必须有:这里有这里有 个未知个未知数,数,个方程。个方程。32存在存在无穷多个解无穷多个解。所有满足上式的格式统称为。所有满足上式的格式统称为2阶龙格阶龙格-库库塔格式塔格式。注意到,注意到,就是改进的欧拉法。就是改进的欧拉法。Q:为获得更高的精度,应该如何进一步推广?为获得更高的精度,应该如何进一步推广?其中其中 i (i=1,m),i (i=2,m)和和 ij(i=2,m;j=1,i 1)均为待均为待定系数,确定这些系数定系数,确定这些系数的步骤与前
16、面相似。的步骤与前面相似。).,(.),(),(),(.1122112321313312122122111 +=+=+=+=mm mmmmimiiiiiimmiihKhKhKyhxfKhKhKyhxfKhKyhxfKyxfKKKKhyy 最常用为四级最常用为四级4阶阶经典龙格经典龙格-库塔法库塔法/*Classical Runge-Kutta Method*/:注:注:龙格龙格-库塔法库塔法的主要运算在于计算的主要运算在于计算 Ki 的值,即计算的值,即计算 f 的的值。值。Butcher 于于1965年给出了计算量与可达到的最高精年给出了计算量与可达到的最高精度阶数的关系:度阶数的关系:75
17、3可达到的最高精度可达到的最高精度642每步须算每步须算Ki 的个数的个数 由于龙格由于龙格-库塔法的导出基于泰勒展开,故精度主要受库塔法的导出基于泰勒展开,故精度主要受解函数的光滑性影响。对于光滑性不太好的解,最好解函数的光滑性影响。对于光滑性不太好的解,最好采用采用低阶算法低阶算法而将步长而将步长h 取小取小。深入研究龙格深入研究龙格-库塔法请看库塔法请看此处此处!4 收敛性与稳定性收敛性与稳定性 /*Convergency and Stability*/1.收敛性收敛性/*Convergency*/若若某某算算法法对对于于任任意意固固定定的的 x=xi=x0+i h,当当 h0(同时同时
18、 i )时有时有 yi y(xi),则称该算法是,则称该算法是收敛收敛的。的。例:例:就初值问题就初值问题 考察欧拉显式格式的收敛性。考察欧拉显式格式的收敛性。解:解:该问题的精确解为该问题的精确解为 欧拉公式为欧拉公式为对任意固定的对任意固定的 x=xi=i h,有,有 2.稳定性稳定性/*Stability*/例:例:考察初值问题考察初值问题 在区间在区间0,0.5上的解。上的解。分别用欧拉显、隐式格式和改进的欧拉格式计算数值解。分别用欧拉显、隐式格式和改进的欧拉格式计算数值解。0.00.10.20.30.40.5精确解精确解改进欧拉法改进欧拉法 欧拉隐式欧拉隐式欧拉显式欧拉显式 节点节点
19、 xi 1.0000 2.0000 4.0000 8.0000 1.6000 101 3.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?!若若某某算算法法在在计计算算过过程程中中任任一一步步产产生生的的误误差差在在以以后后的的计计算算中中都都逐逐步步衰衰减减
20、,则则称称该该算算法法是是绝绝对对稳稳定定的的/*absolutely stable*/。一般分析时为简单起见,只考虑一般分析时为简单起见,只考虑试验方程试验方程/*test equation*/常数,可以常数,可以是复数是复数当步长取为当步长取为 h 时,将某算法应用于上式,并假设只在初值时,将某算法应用于上式,并假设只在初值产生误差产生误差 ,则若此误差以后逐步衰减,就称该算法,则若此误差以后逐步衰减,就称该算法相对于相对于 绝对稳定绝对稳定,的全体构成的全体构成绝对稳定区域绝对稳定区域。我们。我们称称算法算法A 比算法比算法B 稳定稳定,就是指,就是指 A 的绝对稳定区域比的绝对稳定区域
21、比 B 的的大大。h h=h例:例:考察显式欧拉法考察显式欧拉法由此可见,要保证初始误差由此可见,要保证初始误差 0 以后逐步衰减,以后逐步衰减,必须满足:必须满足:0-1-2ReImg例:例:考察隐式欧拉法考察隐式欧拉法可见绝对稳定区域为:可见绝对稳定区域为:210ReImg注:注:一般来说,隐式欧拉法的绝对稳定性比同阶的显式法一般来说,隐式欧拉法的绝对稳定性比同阶的显式法的好。的好。例:例:隐式龙格隐式龙格-库塔法库塔法而而显式显式 1 4 阶方法的绝对稳定阶方法的绝对稳定区域为区域为其中其中2阶方法阶方法 的绝对稳定区域为的绝对稳定区域为0ReImgk=1k=2k=3k=4-1-2-3-
22、123ReImg无条件稳定无条件稳定例例1 用欧拉方法用欧拉方法,隐式欧拉方法隐式欧拉方法和和欧拉中点公式欧拉中点公式计算计算的近似解,取步长的近似解,取步长h=0.1,并与精确值比较,并与精确值比较解解:欧拉方法的算式为:欧拉方法的算式为:欧拉隐式方法在本题可解出方程,不必迭代,公式为:欧拉隐式方法在本题可解出方程,不必迭代,公式为:欧拉中点公式是两步法,第一步欧拉中点公式是两步法,第一步y1用欧拉公式,以后用公式用欧拉公式,以后用公式本题精确解为本题精确解为y=e-x,计算结果见表计算结果见表9-1例例2 用用欧拉公式欧拉公式和和梯形公式梯形公式的预估校正法计算:的预估校正法计算:的数值解
23、,取的数值解,取h=0.1,梯形公式只迭代一次,并与精确值比较,梯形公式只迭代一次,并与精确值比较.方程的解析解为方程的解析解为:解解:本例中欧拉公式为:本例中欧拉公式为:梯形公式只校正一次的格式为梯形公式只校正一次的格式为结果列入表结果列入表9.21.Runge-Kutta 1.Runge-Kutta 法的一般形式法的一般形式 2.22.2阶阶Runge-Kutta Runge-Kutta 方法方法 3.3.经典经典Runge-Kutta Runge-Kutta 方法方法 4 4R-K-Fehhlberg R-K-Fehhlberg 方法方法 5.5.隐式隐式R-KR-K方法方法 6.6.变
24、步长方法变步长方法 龙格库塔法深入研究龙格库塔法深入研究1.Runge-1.Runge-Kutta Kutta 法的一般形式法的一般形式Runge-Kutta 法是用区间上若干个点上的导数的线性组合得到平均斜率,以提高方法的阶。其一般形式为:式(9.11)称L级级p阶阶Runge-Kutta方法方法(简称R-K法法)。当L1就是欧拉法,当L2时为改进的欧拉法。其中它的局部截断误差是(9.11)2.22.2级级2 2阶阶Runge-KuttaRunge-Kutta方法方法令令 L=2 L=2,则,则 3.3.经典经典Runge-KuttaRunge-Kutta方法方法我们可以构造出一族3级3阶,
25、一族4级4阶和一族5级4阶等R-K方法。最常用的4级4阶是如下的经典经典R-KR-K方法方法:4 4R-K-Fehhlberg R-K-Fehhlberg 方法方法R-K-FehhlbergR-K-Fehhlberg方法方法是在R-K方法的基础上引进误差和步长控制的办法。即利用5阶R-K法 估计4阶R-K的局部误差,其中 注:注:R-K-Fehhlberg比4阶R-K方法具有更大的优越性,他是计算稳定,高精度的方法,他的显著优点是,每一步仅需计算f的6个值;若用4阶R-K-L与5阶R-K-L在一起使用,则每步需要计算f的10个值。推荐使用!5.5.隐式隐式R-KR-K方法方法类似于显式R-K公
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 九章常 微分方程 数值 解法

限制150内