九章常微分方程的数值解法.ppt
《九章常微分方程的数值解法.ppt》由会员分享,可在线阅读,更多相关《九章常微分方程的数值解法.ppt(113页珍藏版)》请在三一办公上搜索。
1、第九章 常微分方程的数值解法,1、引言 2、初值问题的数值解法-单步法 3、龙格-库塔方法 4、收敛性与稳定性 5、初值问题的数值解法多步法 6、方程组和刚性方程 7、习题和总结,主 要 内 容,主 要 内 容,研究的问题数值解法的意义,1、引 言,现实世界中大多数事物,内部联系非常复杂,找出其状态和状态变化规律之间的相互联系,也即一个或一些函数与他们的导数之间的关系,此种关系的数学表达就为,微分方程,1.什么是微分方程?,其状态随着时间、地点、条件的不同而不同,如何利用数值方法求解微分方程(组)的问题。,2.数值求解微分方程的意义,如何建立数学模型已在建模课程中得到讨论,各类微分方程本身和他
2、们的解所具有的特性已在常微分方程及数学物理方程中得以解释,,本章专门讨论,寻找解析解的过程称为求解微分方程组。,一个或一组具有所要求阶连续导数的解析函数,将它代入微分方程(组),恰使其所有条件都得到满足的解称为解析解(或古典解),称为真解或解。,3.什么是微分方程(组)的解析解?,3.什么是微分方程(组)的解析解?,4.什么是微分方程的数值解?,虽然求解微分方程有许多解析方法,但解析方法只能够求解一些特殊类型的方程,从实际意义上来讲,我们更关心的是某些 特定的自变量在某一个定义范围内的一系列离散点上的近似值.,寻找数值解的过程称为数值求解微分方程。,把这样一组近似解称为微分方程在该范围内的,数
3、值解,在大量的实际方程中出现的函数起码的连续性都无法保证,更何况要求阶的导数,求解数值解,很多微分方程根本求不到问题的解析解!,重要手段。,常微分方程的数值解法常用来求近似解,根据提供的算法,通过计算机,便捷地实现,5.常微分方程数值解法的特点,数值解法得到的近似解(含误差)是一个离散的函数表.,本章主要讨论一阶常微方程的初值问题,6.基本知识,其中f(x,y)是已知函数,(1.2)是定解条件也称为初值条件。,各种数值解法,则称 f(x,y)对y 满足李普希兹条件,L 称为Lipschitz常数.,常微分方程的理论指出:,当 f(x,y)定义在区域 G=(axb,y),若存在正的常数 L 使:
4、,就可保证方程解的存在唯一性,(Lipschitz)条件,我们以下的讨论,都在满足上述条件下进行.,若 f(x,y)在区域 G连续,关于y,一阶常微分方程的初值问题的解存在且唯一.,满足李普希兹条件,一阶常微分方程组常表述为:,方程组,初值条件,写成向量形式为,高阶常微分方程定解问题如二阶定解问题:,也就解决了高阶方程的定解问题.,这些解法都可以写成向量形式,用于一阶常微分方程组的初值问题.,简单的数值方法与基本概念,1.简单欧拉法(Euler)2后退的欧拉法 3梯形法 4改进Euler法,2、初值问题的数值解法单步法,1.简单的欧拉(Euler)方法,考虑模型:,在精度要求不高时,通过欧拉方
5、法的讨论,弄清常微方程初值问题数值解法的一些基本概念和构造方法的思路.,欧拉方法,最简单而直观实用方法,2.欧拉方法的导出,把区间a,b,分为n个小区间,步长为,要计算出解函数 y(x)在一系列节点,节点,处的近似值,N等分,对微分方程(1.1)两端从,进行积分,右端积分用左矩形数值求积公式,得,亦称为欧拉折线法/*Eulers polygonal arc method*/,每步计算,只用到,或用向前差商近似导数,依上述公式逐次计算可得:,例题,3.欧拉公式有明显的几何意义,依此类推得到一折线,故也称Euler为单步法。,公式右端只含有已知项,所以又称为显格式的单步法。,也称欧拉折线法.,就是
6、用这条折线近似地代替曲线,欧拉方法,从上述几何意义上得知,由Euler法所得的折线明显偏离了积分曲线,可见此方法非常粗糙。,4.欧拉法的局部截断误差:,在假设第 i 步计算是精确的前提下,考虑截断误差,称为局部截断误差,/*local truncation error*/。,Ri 的主项/*leading term*/,欧拉法的局部截断误差:,欧拉法具有 1 阶精度。,如果单步差分公式的局部截断误差为O(hp+1),则称该公式为p阶方法.这里p为非负整数.显然,阶数越高,方法的精度越高.,Taylor展开式,一元函数的Taylor展开式为:,若某算法的局部截断误差为O(hp+1),则称该算法有
7、p 阶精度。,Ri 的主项/*leading term*/,5.欧拉公式的改进:,隐式欧拉法/*implicit Euler method*/,由于未知数 yi+1 同时出现在等式的两边,不能直接得到,故称为隐式/*implicit*/欧拉公式,而前者称为显式/*explicit*/欧拉公式。,一般先用显式计算一个初值,再迭代求解。,隐式欧拉法的局部截断误差:,即隐式欧拉公式具有 1 阶精度。,6.梯形公式/*trapezoid formula*/,显、隐式两种算法的平均,注:的确有局部截断误差,即梯形公式具有2 阶精度,比欧拉方法有了进步。但注意到该公式是隐式公式,计算时不得不用到迭代法,其
8、迭代收敛性与欧拉公式相似。,中点欧拉公式/*midpoint formula*/,假设,则可以导出即中点公式具有 2 阶精度。,需要2个初值 y0和 y1来启动递推过程,这样的算法称为双步法/*double-step method*/,而前面的三种算法都是单步法/*single-step method*/。,简单,精度低,稳定性最好,精度低,计算量大,精度提高,计算量大,精度提高,显式,多一个初值,可能影响精度,改进欧拉法/*modified Eulers method*/,注:此法亦称为预测-校正法/*predictor-corrector method*/。可以证明该算法具有 2 阶精度,
9、同时可以看到它是个单步递推格式,比隐式公式的迭代求解过程简单。后面将看到,它的稳定性高于显式欧拉法。,3 龙格-库塔法/*Runge-Kutta Method*/,斜率一定取K1 K2 的平均值吗?,步长一定是一个h 吗?,单步递推法的基本思想是从(xi,yi)点出发,以某一斜率沿直线达到(xi+1,yi+1)点。欧拉法及其各种变形所能达到的最高精度为2阶。,建立高精度的单步递推格式。,首先希望能确定系数 1、2、p,使得到的算法格式有2阶精度,即在 的前提假设下,使得,Step 1:将 K2 在(xi,yi)点作 Taylor 展开,Step 2:将 K2 代入第1式,得到,Step 3:将
10、 yi+1 与 y(xi+1)在 xi 点的泰勒展开作比较,要求,则必须有:,这里有 个未知数,个方程。,3,2,存在无穷多个解。所有满足上式的格式统称为2阶龙格-库塔格式。,注意到,就是改进的欧拉法。,Q:为获得更高的精度,应该如何进一步推广?,其中i(i=1,m),i(i=2,m)和 ij(i=2,m;j=1,i1)均为待定系数,确定这些系数的步骤与前面相似。,最常用为四级4阶经典龙格-库塔法/*Classical Runge-Kutta Method*/:,由于龙格-库塔法的导出基于泰勒展开,故精度主要受解函数的光滑性影响。对于光滑性不太好的解,最好采用低阶算法而将步长h 取小。,深入研
11、究龙格-库塔法请看此处!,4 收敛性与稳定性/*Convergency and Stability*/,1.收敛性/*Convergency*/,例:就初值问题 考察欧拉显式格式的收敛性。,解:该问题的精确解为,欧拉公式为,对任意固定的 x=xi=i h,有,2.稳定性/*Stability*/,例:考察初值问题 在区间0,0.5上的解。分别用欧拉显、隐式格式和改进的欧拉格式计算数值解。,1.00002.0000 4.00008.0000 1.6000101 3.2000101,1.00002.5000101 6.25001021.56251023.90631039.7656104,1.000
12、02.50006.25001.56261013.90631019.7656101,1.00004.97871022.47881031.23411046.14421063.0590107,What is wrong?!,一般分析时为简单起见,只考虑试验方程/*test equation*/,常数,可以是复数,例:考察隐式欧拉法,可见绝对稳定区域为:,注:一般来说,隐式欧拉法的绝对稳定性比同阶的显式法的好。,例:隐式龙格-库塔法,而显式 1 4 阶方法的绝对稳定区域为,其中2阶方法 的绝对稳定区域为,无条件稳定,例1 用欧拉方法,隐式欧拉方法和欧拉中点公式计算,的近似解,取步长h=0.1,并与精确
13、值比较,解:欧拉方法的算式为:,欧拉隐式方法在本题可解出方程,不必迭代,公式为:,欧拉中点公式是两步法,第一步y1用欧拉公式,以后用公式,本题精确解为y=e-x,计算结果见表9-1,例2 用欧拉公式和梯形公式的预估校正法计算:,的数值解,取h=0.1,梯形公式只迭代一次,并与精确值比较.方程的解析解为:,解:本例中欧拉公式为:,梯形公式只校正一次的格式为,结果列入表9.2,1.Runge-Kutta 法的一般形式 2.2阶Runge-Kutta 方法 3.经典Runge-Kutta 方法 4R-K-Fehhlberg 方法 5.隐式R-K方法 6.变步长方法,龙格库塔法深入研究,1.Runge
14、-Kutta 法的一般形式,Runge-Kutta 法是用区间上若干个点上的导数的线性组合得到平均斜率,以提高方法的阶。其一般形式为:,式(9.11)称L级p阶Runge-Kutta方法(简称R-K法)。当L1就是欧拉法,当L2时为改进的欧拉法。,其中,它的局部截断误差是,(9.11),2.2级2阶Runge-Kutta方法,令 L=2,则,其局部截断误差是:,这是3个未知量的两个方程,其中有一个自由参数,方程组有无穷多解,从而得到一族2级2阶R-K方法。,3.经典Runge-Kutta方法,我们可以构造出一族3级3阶,一族4级4阶和一族5级4阶等R-K方法。最常用的4级4阶是如下的经典R-K
15、方法:,4R-K-Fehhlberg 方法,R-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.隐式R-K方法,类似于显式R-K公式,稍加改变,就得到隐式R-K方法。,它与显式R-K公式的区别在于:显式公式中对系数求和的上限是i-1,从而构成的矩阵是一个严格下三角阵。而在隐式公式中对系数求和的上限
16、是L,从而构成的矩阵是方阵,需要用迭代法求出Ki,。推导隐式公式的思路和方法与显式R-K法类似。通常,同级的隐式公式获得比显式公式更高的阶。,通常,同级的隐式公式获得比显式公式更高的阶。常用的隐式R-K法有:,1级2阶中点公式:,2级2阶梯形公式:,2级4阶R-K公式:,6.变步长方法,在单步法中每一积分步步长实际上是相互独立的,步长的选择具有了灵活性。根据合理地选择每一积分步的步长,既保证精度的要求,又可以减少计算量,从而减小舍入误差。其方便的控制手段是基于误差的事后估计式。,对于给定的精度,如果,反复将步长折半进行计算,直至 为止,这时再将步长折半一次,就得到所要的结果。,这种通过加倍或折
17、半处理步长的计算方法称为变步长方法。,注:推荐使用精度好计算量低的变步长方法。用四阶显式R-K方法做变步长方法是实践中较好的方法!,例 分别用改进的欧拉格式和四阶龙格库塔格式解初值问题(取步长h=0.2):,节点 改进欧拉法 四阶龙格库塔法 准确解 0 1 1 1 0.2 1.186667 1.183229 1.1832160.4 1.348312 1.341667 1.3416410.6 1.493704 1.483281 1.4832400.8 1.627861 1.612514 1.612452 1 1.754205 1.732142 1.732051,表,(注:已指出过准确解,),单步
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 九章常 微分方程 数值 解法

链接地址:https://www.31ppt.com/p-5306400.html