第八章常微分方程数值解法.doc
《第八章常微分方程数值解法.doc》由会员分享,可在线阅读,更多相关《第八章常微分方程数值解法.doc(28页珍藏版)》请在沃文网上搜索。
1、第七章 常微分方程数值解法常微分方程中只有一些典型方程能求出初等解(用初等函数表示的解),大部分的方程是求不出初等解的。另外,有些初值问题虽然有初等解,但由于形式太复杂不便于应用。因此,有必要探讨常微分方程初值问题的数值解法。本章主要介绍一阶常微分方程初值问题的欧拉法、龙格-库塔法、阿达姆斯方法,在此基础上推出一阶微分方程组与高阶方程初值问题的 数值解法;此外,还将简要介绍求解二阶常微分方程值问题的差分方法、试射法。第一节 欧拉法求解常微分方程初值问题 (1)的数值解,就是寻求准确解在一系列离散节点上的近似值 称为问题的数值解,数值解所满足的离散方程统称为差分格式,称为步长,实用中常取定步长。
2、显然,只有当初值问题(1)的解存在且唯一时,使用数值解法才有意义,这一前提条件由下 面定理保证。定理 设函数在区域上连续,且在区域D内满足李普希兹(Lipschitz)条件,即存在正数L,使得对于R内任意两点与,恒有则初值问题(1)的解存在并且唯一。一、欧拉法(欧拉折线法)若将函数在点处的导数用两点式代替, 即,再用近似地代替,则初值问题(1)变为 (2)(2)式就是著名的欧拉(Euler)公式。以上方法称 为欧 拉法或欧拉折线法。欧拉公式有明显的几何意义。从几何上看,求解初值问题(1)就是平面上求一条通过点的曲线,并使曲线上任意一点处的切线斜率为。 欧拉公式的几何意义就是从点出发作一斜率为的
3、直线交直线于点,点的纵坐标就是的近似值;再从点作一斜率为的直线交直线于点, 点的纵坐标就是的近似值;如此继续进行,得一条折线。该折线就是解的近似图形,如图7-1。图7-1欧拉法的其它几种解释:1 假设在附近展开成泰勒级数取的线性部分,并用作为的近似值,得 2 对方程两边从到积分,得 (3)用 矩形公式计算上式右侧积分,即 并用作为的近似值,得故欧拉法也称为矩形法。二、改进的欧拉法(梯形法) 欧拉法形式简单,低,特别当曲线y=y(x)计算方便,但精度比较的曲率较大时,欧拉法的效果更差。为了达到较高精度的计算公式,对欧拉法进行改进,用梯形公式计算(3)式 右侧积分,即并用y作为y(x)的近似值,得
4、到改进 的欧拉公式 (4)上述方法称为改进的欧拉法,也称为梯形法。不难发现,欧拉公式 是 关于y的显式,即只要已知y,经过一次计算便可得y的值,而改进的 欧拉公式是以y的隐式方程给出,不能直接得到y。隐式方程(4)通常用 迭代法求解,而迭代过程的实质是逐步显式化。先用欧拉 公式给出y的迭代初值,然后 再用改进的欧拉公式(4)进行迭代,即有 (5)迭代过程进行到连续两次迭代结果之差的绝对值小于给定的精度即为止,这时取然后再转入下一步计算。下面讨论是否收敛;若收敛,它的极限是否满足(4)式。假设f(x,y)满足李普希兹条件 则由此可见,只要(这里只要步长h足够小即可),当k时,有,所以收敛。又因为
5、f(x ,y)对y连续,当k时,对等式两端取极限, 得因 此,只要步长h足够小,就可保证收敛到满足(4)式的。三、预估一校正法改进的欧拉公式在实际计算时要进行多次 迭代,因而计算量较大。在实用上,对于改进的欧拉公式(5)只迭代一次,即先用欧拉公式算出y的预估值y,再用改进的欧拉公式(4)进行一次迭代得到 校正值y,即 (6)预估校正公式也常写成下列形式: (7)四、公式的截断误差定义 若某种微分方程数值解 公式的截断误差是O(h),则称这种方法是k阶方法。为了简化分析,在进行误差分析时,我们假设前一步的结果是准确的,即在 y=y(x)的前提下,考虑用y作为y(x)的近似值而产生的截断误差,这种
6、误差称为局部截断误差。由泰勒公式对于欧拉公式,有 于是 则欧拉公式的截断误差为O(),所以 欧拉法是一阶方法。对于预估校正公式,有而 于是因此所以y(x)- y= O()则预估校正公式的截断误差为O(),也即预估校正法是二阶方法。 可以证明,改进的欧拉公式与预估校正公式的截断误差相同,均为O()。这里略去证明。例 1:在区间0,1上以h=0.1为步长,分别用欧拉法与预估 校正法求初值问题的数值解解:该方程为贝努利方程,其精确解为欧拉公式的具体形式为预估校正公式的具体形式为取步长,计算结果见下表:表7-1表7-1 欧拉法预估-矫正法准确解近似解与准确解比较,欧拉法的结果大致只有两位有效数字,而预
7、估校正法的结果则 有3位有效数字。第二节 龙格库塔法前面讨论的欧拉法与改进的欧拉法都是一步 法,即计算y时,只用到前一步值。龙格库塔(Runge-Kut ta)法(简称为R-K方法)是一类高精度的一步法,这类方法与泰勒级数法有着密 切的关系。一、泰勒级数法设有初值问题由 泰勒展开式 (1) 若令 (2)则即公式(2)为k阶方法。 从理论上讲,只要解y(x)有任意阶导数,泰勒展开方法就可以构造任意阶求y的公 式,但由于计算这些导数是非常复杂的。如所以这种方法实际上不能用来解初值问题。二、龙格 库塔方法(R-K方法)R-K方法不是通过求导数的方法构造近似公式,而是通过计算 不同点上的函数值,并对这
8、些函数值作线性组合,构造近似公式,再把近似公式与解的泰勒展开 式进行比较,使前面的若干项相同,从而使近似公式达到一定的阶数。我们先分析欧拉法与预估校正法。对于欧拉法每步计算f的值一次,其截断误差为O()。对于预估校正法。 每步计算的值两次,其截断误差为O()。下面对预估校正法进行改进,将该公式写成更一般的形式 (3)其中为待定常数。选择这 些常数的原则是在的前提下,使)的阶尽量 高。为此,作泰勒展开 其中都是在处的函数值。将代入得与泰勒展开式(2)进行比较,要使得只要 四个参数满足 (4)若,即得预估校正公式。满足(4)式的可以有各种不同的取法,但不管如何取法,都要计算两次的值(即 计算f在两
9、个不同点的函数值),截断误差都是。满足条件(4)的一族公式(3)统称为 二阶龙格库塔公式。人们容易想到,如果不增加计算函数值的次数,能否适当地选择这 四个参数,使近似公式的局部截断误差的阶再提高,比如达到。为此,把多展 开 一项,有 (4)所以 而在的泰勒展开式由于展开式的项中是无法通过选择参数来消去的,所以不论四个参 数如何选择,都不能使局部截断误差达到。要想提 高近似公式的阶,只能继续增加计算f的值的次数。如果每步计算三次的值,可将公式写 成下列形式: (5)与二阶龙格库塔公式的讨论方法类似,要使,只需8个参数满足方程组包含6个方程,8个未知量,其解不唯一。满足条件(6)的一族公式(5)统
10、称为三阶龙格库 塔公式。一个比较简单的三阶龙格龙塔公式是 截断误差为的四阶龙格库塔公式 是常用的公式,每步都要计算四次f的值。它的一般形式是 (6)(6)式中13个待定常数需满足下列11个方程的方程组最常用的四阶龙格库 塔公式是标准四阶 龙格库塔公式:和吉尔公式标准四阶龙格库塔公式手算时采用表8-2所示的表格计算。例:用标准四阶龙格库塔方法求解初值问题解:计算过程和结果 如表7-3所示因此有表7-3对该例,用几种不同的一步法计算的结果如表7-4。由表7-4可见,虽然四阶龙格库塔方法每步要计算四次f的值,但以=0.2为 步长的计算结果就有5位有效数字,而欧拉法与预估校正法以=0.1为步长的计算结
11、果 才具有2位与3位有效数字。如果步长也取0.2,则结果的精度会更低。表7-4欧拉法预估-校正法四阶法准确解第三节 亚当斯方法求解初值问题的一步法在计算时只用到前面一步的结果,所以要提高精度时,需要增加中间函数值的计算,这就加大了计算量。如果在计算yn+1时,不仅用到xn上的近似值yn,还用到前面若干节点xn-1 ,xn-2 ,上的近似值yn-1 ,yn-2 ,,称这种方法为多步法。亚当斯(Adams)方法是多步法中的一种。我们知道,求解初值问题 (1)等价于求解积分方程 (2)选用不同的数值方法计算(8.3.2)式右端的积分项,就会导出不同的计算公式。例如,用矩形法计算积分项代入(2)式得离
12、散化即得欧拉公式,其截断误差为O(h2)。为了提高精度,改用梯形法计算积分项代入(2)式得离散化得到改进的欧拉公式,其截断误差是O(h3)。为此,我们想到,基于插值原理可以建立一系列的数值积分方法,运用这些方法可以导出求初值问题的一系列计算公式。一般地,若用插值多项式k(x),代替f(x,y(x),用作为的近似值,离散化后得公式 (3)7.3.1亚当斯显式公式设初值问题(1)的解y(x)在xn ,xn-1 ,xn-k上各点的近似值yn ,yn-1 ,yn-k都已计算出来,用点(xn ,fn),(xn-1 ,fn-1),,(xn-k ,fn-k)作后插公式其中x=xn+th,将k(x)代入(3)
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第八 微分方程 数值 解法