第三章 常微分方程的差分法课件.ppt
《第三章 常微分方程的差分法课件.ppt》由会员分享,可在线阅读,更多相关《第三章 常微分方程的差分法课件.ppt(113页珍藏版)》请在三一办公上搜索。
1、第三章 常微分方程的差分法,1、引言 2、初值问题的数值解法-单步法 3、龙格-库塔方法 4、收敛性与稳定性 5、方程组和高阶方程的情形 6、边值问题,主 要 内 容,主 要 内 容,研究的问题数值解法的意义,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 */,注:此法亦称为预测-校正法
9、 /* predictor-corrector method */。可以证明该算法具有 2 阶精度,同时可以看到它是个单步递推格式,比隐式公式的迭代求解过程简单。后面将看到,它的稳定性高于显式欧拉法。,3 龙格 - 库塔法 /* Runge-Kutta Method */,斜率一定取K1 K2 的平均值吗?,步长一定是一个h 吗?,单步递推法的基本思想是从 ( xi , yi ) 点出发,以某一斜率沿直线达到 ( xi+1 , yi+1 ) 点。欧拉法及其各种变形所能达到的最高精度为2阶。,建立高精度的单步递推格式。,首先希望能确定系数 1、2、p,使得到的算法格式有2阶精度,即在 的前提假设
10、下,使得,Step 1: 将 K2 在 ( xi , yi ) 点作 Taylor 展开,Step 2: 将 K2 代入第1式,得到,Step 3: 将 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 ) 均为待定系数,确定这些系数的步骤与前面相似。
11、, 最常用为四级4阶经典龙格-库塔法 /* Classical Runge-Kutta Method */ :, 由于龙格-库塔法的导出基于泰勒展开,故精度主要受解函数的光滑性影响。对于光滑性不太好的解,最好采用低阶算法而将步长h 取小。,深入研究龙格-库塔法请看此处!,4 收敛性与稳定性 /* Convergency and Stability */, 1.收敛性 /* Convergency */,例:就初值问题 考察欧拉显式格式的收敛性。,解:该问题的精确解为,欧拉公式为,对任意固定的 x = xi = i h ,有, 2.稳定性 /* Stability */,例:考察初值问题 在区间
12、0, 0.5上的解。分别用欧拉显、隐式格式和改进的欧拉格式计算数值解。,1.00002.0000 4.00008.0000 1.6000101 3.2000101,1.00002.5000101 6.25001021.56251023.90631039.7656104,1.00002.50006.25001.56261013.90631019.7656101,1.00004.97871022.47881031.23411046.14421063.0590107,What is wrong ?!,一般分析时为简单起见,只考虑试验方程 /* test equation */,常数,可以是复数,例:
13、考察隐式欧拉法,可见绝对稳定区域为:,注:一般来说,隐式欧拉法的绝对稳定性比同阶的显式法的好。,例:隐式龙格-库塔法,而显式 1 4 阶方法的绝对稳定区域为,其中2阶方法 的绝对稳定区域为,无条件稳定,例1 用欧拉方法,隐式欧拉方法和欧拉中点公式计算,的近似解,取步长h=0.1,并与精确值比较,解:欧拉方法的算式为:,欧拉隐式方法在本题可解出方程,不必迭代,公式为:,欧拉中点公式是两步法,第一步y1用欧拉公式,以后用公式,本题精确解为y=e-x,计算结果略。,例2 用欧拉公式和梯形公式的预估校正法计算:,的数值解,取h=0.1,梯形公式只迭代一次,并与精确值比较.方程的解析解为:,解: 本例中
14、欧拉公式为:,梯形公式只校正一次的格式为,结果结果略。,1. Runge-Kutta 法的一般形式 2. 2阶Runge-Kutta 方法 3. 经典Runge-Kutta 方法 4R-K-Fehhlberg 方法 5. 隐式R-K方法 6. 变步长方法,龙格库塔法深入研究,1.Runge-Kutta 法的一般形式,Runge-Kutta 法是用区间上若干个点上的导数的线性组合得到平均斜率,以提高方法的阶。其一般形式为 :,式(9.11) 称L级p阶Runge-Kutta方法(简称R-K法)。当L1就是欧拉法,当L2时为改进的欧拉法。,其中,它的局部截断误差是,(9.11),2. 2级2阶Ru
15、nge-Kutta方法,令 L=2,则,其局部截断误差是:,这是3个未知量的两个方程,其中有一个自由参数,方程组有无穷多解,从而得到一族2级2阶R-K方法 。,3. 经典Runge-Kutta方法,我们可以构造出一族3级3阶,一族4级4阶和一族5级4阶等R-K方法。最常用的4级4阶是如下的经典R-K方法:,4R-K-Fehhlberg 方法,R-K-Fehhlberg方法是在R-K方法的基础上引进误差和步长控制的办法。即利用5阶R-K法,估计4阶R-K的局部误差,其中,注:R-K-Fehhlberg比4阶R-K方法具有更大的优越性,他是计算稳定,高精度的方法,他的显著优点是,每一步仅需计算f的
16、6个值;若用4阶R-K-L与5阶R-K-L在一起使用,则每步需要计算f的10个值。推荐使用!,5. 隐式R-K方法,类似于显式R-K公式,稍加改变,就得到隐式R-K方法。,它与显式R-K公式的区别在于:显式公式中对系数求和的上限是i-1,从而构成的矩阵是一个严格下三角阵。而在隐式公式中对系数求和的上限是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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三章 常微分方程的差分法课件 第三 微分方程 差分法 课件

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