常微分方程数值解法综述

上传人:最**** 文档编号:115380508 上传时间:2019-11-13 格式:DOC 页数:28 大小:1.33MB
返回 下载 相关 举报
常微分方程数值解法综述_第1页
第1页 / 共28页
常微分方程数值解法综述_第2页
第2页 / 共28页
常微分方程数值解法综述_第3页
第3页 / 共28页
常微分方程数值解法综述_第4页
第4页 / 共28页
常微分方程数值解法综述_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《常微分方程数值解法综述》由会员分享,可在线阅读,更多相关《常微分方程数值解法综述(28页珍藏版)》请在金锄头文库上搜索。

1、 常微分方程数值解法科学技术中的许多问题,在数学中往往归结为微分方程的求解问题。例如天文学中研究星体运动,空间技术中研究物体飞行等,都需要求解常微分方程初值问题。最简单的常微分方程初值问题是 定理 如果在区域内连续,且关于满足Lipschitz条件,那么初值问题的解存在且惟一。因为数值解是求微分方程解的近似值,所以总假定微分方程的解存在惟一,即初值问题中的满足定理的条件。除特殊情形外,初值问题一般求不出解析解,即使有的能求出解析解,其函数表示式也比较复杂,计算量比较大,况且实际问题往往只要求在某一时刻解的函数值,因此,有必要研究初值问题的数值解法。所谓初值问题的数值解法,就是寻求解在区间上的一

2、系列点上的近似值. 记表示相邻两个节点的间距,称为步长。求微分方程数值解的主要问题:(1) 如何将微分方程离散化,并建立求其数值解的递推公式;(2) 递推公式的局部截断误差、数值数与精确解的误差估计;(3) 递推公式的稳定性与收敛性.1、 Euler方法Euler法是最早的解决一阶常微分方程初值问题的一种数值方法,虽然它不够精确,很少被采用,但是它在某种程度上反映了数值方法的基本思想和特征。考虑初值问题为了求得它在等距离散点上的数值解,首先将(1.1)离散化。设,将式(1.1)离散化的办法有Taylor展开法、数值微分法及数值积分法。如果在点将作Taylor展开,得 (1.3)那么当充分小时,

3、略去误差项,用近似替代、近似替代,并注意到,便得 (1.4)其中. 用(1.4)求解(1.1)的方法称为Euler方法。如果利用差商近似替代微商,那么可得 (1.5)在(1.5)中若用近似替代、近似替代,同样得到递推公式(1.4).如果在上对积分,得 (1.6)那么对上式右端积分用左矩形求积公式,并用近似替代、近似替代,也可得到递推公式(1.4).我们知道,在平面上,微分方程的解称为积分曲线,积分曲线上一点的切线斜率等于函数的值。如果在D中每一点,都画上一条以在这点的值为斜率并指向增加方向的有向线段,即在D上作出了一个由方程确定的方向场,那么方程的解. 从几何上看,就是位于此方向场中的曲线,它

4、在所经过的每一点都与方向场的该点的方向相一致。从初始点出发,过这点的积分曲线为,斜率为. 设在附近可用过点的切线近似表示,切线方程为. 当时,的近似值为,并记为,这就是得到时计算的近似公式当时,的近似值为,并记为. 于是就得到当时计算的近似公式重复上面方法,一般可得当的计算的近似公式如果,则上面公式就是(1.4). 将连续起来,就得到一条折线,所以Euler方法又称为折线法。由公式(1.4)看出,已知便可算出. 已知,便可算出,如此继续下去,这种只用前一步的值便可计算出的递推公式称为单步法。若在(1.6)中,其右边的积分由数值积分的右矩形公式近似,并用替代,替代,则可得到 (1.7)并称(1.

5、7)为后退Euler公式。Euler公式(1.4)是关于的一个直接计算公式,是显式的;而公式(1.7)右端是含有的一个函数方程,因此是隐式的,也是单步法。图9-1若在公式(1.6)中,其右边积分用数值梯形积分公式近似,并用替代,替代,则可得到梯形方法公式 (1.8)梯形方法同后退Euler方法一样都是隐式单步法.对于隐式方法,通常采用迭代法。对后退Euler方法,先Euler方法计算,并将它作为初值,即,再把它代入(1.7)的右端,便得到后退Euler方法的迭代公式为 (1.9)同样地,仍用Euler方法提供初始值,梯形方法的迭代公式为 (1.10)二、误差分析首先讨论Euler方法的误差.不

6、妨假定在计算时用到前面一步的值是准确值,即. 利用算法由计算出的的近似值为,则称为局部截断误差,也就是计算一步所产生的误差,记为.将在处作Taylor展开 由Euler方法(1.4)得上面两式相减得 (1.11)若在解的存在区间上充分光滑,且记 则Euler方法局部截断误差为 (1.12)由于计算时(除外),一般用到的不是,而是近似值,因为每一步计算除局部截断误差外,还应考虑前一步不准确而引起的误差。我们称这种误差为总体截断误差或方法误差。体截断误差有一个积累过程,它与计算步数有关。把第步的总体截断误差记为. 对任意的第步有由(1.11)知,故只须估计.因为关于满足Lip条件,所以这里L是Li

7、p常数。综上所述 (1.13)(1.13)给出了第步总体截断误差与第步总体截断误差之间的关系,它对一对都成立。特别当时,由(1.2)知:,因此利用(1.12)得 (1.14)这说明在区间上用Euler方法求初值问题(1.1)的数值解,若取步长,则在各点上的总体截断误差为这表明当时,也就是说当h充分小时近似值能和充分接近,即数值解是收敛的。对后退Euler方法,类似上面的讨论可知,其局部截断误差为即局部截断误差关于是二阶的,整体截断误差关于是一阶的.梯形方法公式是将(1.6)中右边积分用梯形求积公式得到的,而梯形方法公式的截断误差为,因此梯形方法公式(1.8)的局部截断误差关于是三阶的,总体截断

8、误差关于是二阶的。可以证明:对后退Euler方法的迭代公式(1.9),如果充分小,使得,那么迭代过程是收敛的;对梯形方法的迭代公式(1.10),如果充分小,使得,那么迭代过程也是收敛的(这里L是Lip常数)。三、改进的Euler方法梯形方法的迭代公式(1.10)比Euler方法精度高,但其计算较复杂,在应用公式(1.10)进行计算时,每迭代一次,都要重新计算函数的值,且还要判断何时可以终止或转下一步计算.为了控制计算量和简化计算法,通常只迭代一次就转入下一步计算.具体地说,我们先用Euler公式求得一个初步的近似值,称之为预测值,然后用公式(1.10)作一次迭代得,即将校正一次.这样建立的预测

9、校正方法称为改进的Euler方法:预测: 校正: (1.15)这个计算公式也可以表示为例1 取步长,分别用Euler方法及改进的Euler方法求解初值问题解 这个初值问题的准确解为. 根据题设知(1) Euler方法的计算式为由, 得 这样继续计算下去,其结果列于表9.1.(2) 改进的Euler方法的计算式为由,得这样继续计算下去,其结果列于表Euler方法改进的Euler方法准确值0.10.90000000.90095000.90062350.20.80190000.80526320.80463110.30.70884910.71532790.71442980.40.62289020.63

10、256510.63145290.50.54508150.55761530.55634600.60.47571770.49055100.48918000.70.41456750.43106810.42964450.80.36108010.37863970.37720450.90.31454180.33262780.33121291.00.27418330.29235930.2909884从表9.1可以看出,Euler方法的计算结果只有2位有效数字,而改进的Euler方法确有3位有效数字,这表明改进的Euler方法的精度比Euler方法高.2 Runge-Kutta方法上一节介绍的Euler方法、

11、梯形方法及改进的Euler方法都是单步法,即计算yn+1时,只用到. Euler方法及后退的Euler方法的局部截断误差是,总体截断误差是,梯形方法的总体截断误差是. 一个方法的总体截断误差若为,则我们称它为阶方法。体截断误差和局部截断误差的关系是: 一般地,方法的总体截断误差阶越高,该方法的精度也越高。 在上一节我们利用在点的Taylor展开的前两项导出Euler公式. 很自然地,我们想到:若将在点的Taylor展开多取几项,则有希望获得高阶方法。但是直接利用Taylor展开取多项的办法,需要计算的高阶导数,计算量较大。因此在建立Runge-Kutta方法时不采用求高阶导数的办法,而是用计算

12、不同点上的函数值,然后对这些值作线性组合,构造近似公式,把近似公式和解的Taylor展开相比较,使它们在前面的若干项相同,从而使近似公式达到一定的阶。二阶Runge-Kutta方法我们已经知道Euler方法每一步只计算一次的值,总体截断误差为,它的计算式可以写成而改进的Euler方法,每迭代一步要计算两个函数的值,其总体误差为,它的计算公式可改写成以计算两次函数值为例,设一般计算式为 (2.1)适当选择参数的值,使得在的假设下,截断误差阶尽可能高。为此,将在点作Taylor展开,因为的展开式为所以 (2.2)再将在作Taylor展开 (2.3)若要求局部截断误差达到,则通过比较上面两式知,参数

13、必须满足这是四个未知量,三个方程式的方程组,因此解不惟一。当我们选取时,(2.2)和(2,.3)的前三项完全一致。 将参数值代入(2.1)便得到二阶Runge-Kutta方法 (简记为R-K方法)的一种迭代方法 (2.4)它的局部截断误差为,(2.4)实际上就是改进的Euler方法(1.15).若取,则得到二阶R-K方法的又一种迭代公式或写成 (2.5)公式(2.4)、(2.5)都是显式单步二阶公式.可以证明了不论这四个参数如何选择,都不能使局部截断误差达到. 这说明在计算两次函数值的情况下,局部截断误差的阶最高为,要再提高阶就必须增加计算函数值的次数。二、三阶及四阶Runge-Kutta方法为了提高方法的精度,考虑每步计算三次函数值。根据两次计算函数值的做法,很自然地取的形式为适当选择参数、,使截断误差的阶尽可能高。由于在推导公式时只考虑局部截断误差,故设。类似前面二阶R-K公式的推导方法,将在处作Taylor展开,然后再将在处作Taylor展开(这里不详细写出展开式),只要两个展开式的前四项相同,便有,而要两个展开式的前四项相同,参数必须满足 (2.6)这是8个未知数6个方程的方程组,解不是惟一的,可以得到很多公式。当我们取方程组的一组解为时,就得到一种常用的三阶Runge-Kutta公式

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号