资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第6章 常微分方程数值解法,6.1 引 言,6.2 欧拉方法,6.3 龙格库塔方法,6.1 引 言,微分方程数值解一般可分为:,常微分方程数值解,和,偏微分,方程数值解,。自然界与工程技术中的许多现象,其数学表达式,可归结为常微分方程(组)的定解问题。一些偏微分方程问题,也可以转化为常微分方程问题来(近似)求解。Newton最早采,用数学方法研究二体问题,其中需要求解的运动方程就是常微,分方程。许多著名的数学家,如 Bernoulli(家族),Euler、,Gauss、Lagrange和Laplace等,都遵循历史传统,研究重要,的力学问题的数学模型,在这些问题中,许多是常微分方程的,求解。作为科学史上的一段佳话,海王星的发现就是通过对常,微分方程的近似计算得到的。本章主要介绍常微分方程数值解,的若干方法。,1、常微分方程与解,为,n阶常微分方程,。,如果函数 在区间a,b内n阶可导,称方程,满足方程的函数,称为微分方程的,解,。,则,如,为任意常数),一般称为方程的,通解,。,为方程的解。,如果,则有,为方程满足定解条件的解。,一,、,初值问题的数值解法,方程的通解,满足定解条件的解,微分关系(方程),解的图示,本教材重点讨论定解问题(初值问题),定解条件(初始条件),是否能够找到定解问题的解取决于,仅有极少数的方程可以通过“常数变易法”、“可分离变量法”等特殊方法求得初等函数形式的解,绝大部分方程至今无法理论求解。,如,等等,2、数值解的思想,(1)将连续变量 离散为,(2)用代数的方法求出解函数 在 点的近似值,*,数学界关注,工程师关注,如果找不到解函数,数学界还关注:,解的存在性,解的唯一性,解的光滑性,解的振动性,解的周期性,解的稳定性,解的混沌性,求函数,y,(,x,)在一系列节点,a,=,x,0,x,1,x,n,=,b,处的近似值,的方法称为微分方程的数值解法。,称节点间距 为步长,,通常采用,等距节点,,即取,h,i,=,h,(常数)。,称为微分方程的数值解。,所谓数值解法:,称 在区域D上对 满足,Lipschitz条件,是指:,记,3、相关定义,(2)一般构造方法:,离散点函数值集合+线性组合结构 近似公式,4、迭代格式的构造,(1)构造思想:,将连续的微分方程及初值条件离散为线性方程组加以求解。由于离散化的出发点不同,产生出各种不同的数值方法。基本方法有:有限差分法(数值微分)、有限体积法(数值积分)、有限元法(函数插值)等等。,(3)如何保证迭代公式的稳定性与收敛性?,5、微分方程的数值解法需要解决的主要问题,(1)如何将微分方程离散化,并建立求其,数值解的迭代公式?,(2)如何估计迭代公式的局部截断误差与整体误差?,二、初值问题解的存在唯一性,考虑一阶常微分方程的初值问题,/*Initial-Value Problem*/,:,则上述IVP存在唯一解。,只要 在,上连续,且关于 y 满足,Lipschitz 条件,,即存在与 无关的常数 L 使,对任意定义在 上的 都成立,,三,、,初值问题的离散化方法,离散化方法的基本特点是依照某一递推公式,,值,取,。,按节点从左至右的顺序依次求出 的近似,如果计算 ,只用到前一步的值 ,,则称这类方法为,单步方法,。,如果计算 需用到前r步的值 ,则称这类方法为,r步方法,。,6.2 Euler方法,第一步:连续变量离散化,第二步:用直线步进,Euler格式,1、Euler格式,18世纪最杰出的数学家之一,13岁时入读巴塞尔大学,15岁大学毕业,16岁获得硕士学位。,1727年-1741年(20岁-34岁)在彼得堡科学院从事研究工作,在分析学、数论、力学方面均有出色成就,并应俄国政府要求,解决了不少地图学、造船业等实际问题。,24岁晋升物理学教授。,1735年(28岁)右眼失明。,1741年-1766(34岁-59岁)任德国科学院物理数学所所长,任职25年。在行星运动、刚体运动、热力学、弹道学、人口学、微分方程、曲面微分几何等研究领域均有开创性的工作。,1766年应沙皇礼聘重回彼得堡,在1771年(64岁)左眼失明。,Euler是数学史上最多产的数学家,平均以每年800页的速度写出创造性论文。他去世后,人们用35年整理出他的研究成果74卷。,在假设,y,i,=,y,(,x,i,),,即第,i,步计算是精确的前提下,考虑的截断误差,R,i,=,y,(,x,i,+1,),y,i,+1,称为,局部截断误差,/*local truncation error*/。,定义2.2,若某算法的局部截断误差为,O,(,h,p,+1,),,则称该,算法有,p,阶精度。,定义2.1,2、欧拉法的局部截断误差,欧拉法的局部截断误差:,R,i,的,主项,/*leading term*/,欧拉法具有 1 阶精度,。,例1:,用欧拉公式求解初值问题,取步长 。,解:,应用Euler公式于题给初值问题的具体形式为:,其中 。,计算结果列于下表:,可用来检验近似解的准确程度。,进行计算,数值解已达到了一定的精度。,这个初值问题的准确解为 ,,从上表最后一列,我们看到取步长,3、,欧拉公式的改进:,隐式欧拉法,/*implicit Euler method*/,向后差商近似导数,x,0,x,1,),),(,(,),(,1,1,0,1,x,y,x,f,h,y,x,y,+,由于未知数,y,i,+1,同时出现在等式的两边,不能直接得到,故称为,隐式,/*implicit*/,欧拉公式,而前者称为,显式,/*explicit*/,欧拉公式。,一般先用显式计算一个初值,再,迭代,求解。,隐式,欧拉法的局部截断误差:,即隐式欧拉公式具有,1,阶精度。,梯形公式,/*trapezoid formula*/,显、隐式两种算法的,平均,注:,梯形公式的局部截断误差 ,,即梯形公式,具有2 阶精度,,比欧拉方法有了进步。,但注意到该公式是,隐式公式,,计算时不得不用到,迭代法,其迭代收敛性与欧拉公式相似。,中点欧拉公式,/*midpoint formula*/,中心差商近似导数,x,0,x,2,x,1,假设 ,则可以导出,即中点公式具有,2,阶精度。,方 法,显式欧拉,隐式欧拉,梯形公式,中点公式,简单,精度低,稳定性最好,精度低,计算量大,精度提高,计算量大,精度提高,显式,多一个初值,可能影响精度,改进欧拉法,/*modified Eulers method*/,Step 1,:,先用显式欧拉公式作预测,算出,Step 2,:,再将 代入,隐式,梯形公式的右边作,校正,,得到,1,+,n,y,注:,此法亦称为,预测-校正法,/*predictor-corrector method*/,可以证明该算法,具有 2 阶精度,,同时可以看到它,是个,单步,递推格式,比隐式公式的迭代求解过程,简单,。后面将看到,它的,稳定性高于,显式欧拉法。,改进的欧拉法,在实际计算时,可将欧拉法与梯形法则相结合,,计算公式为,应用改进欧拉法,如果序列 收敛,它的极限便满足方程,改进欧拉法的截断误差,因此,改进欧拉法公式具有,2,阶精度,例2:,用改进Euler公式求解例1中的初值问题,,取步长 。,解:,对此初值问题采用改进Euler公式,,其具体形式为,计算结果列于下表:,例1:,用欧拉公式求解初值问题,改进的Euler法,Euler法,通过计算结果的比较可以看出,改进的Euler方法,的计算精度比Euler方法要高。,欧拉法误差概述,6.3 龙格库塔方法,对许多实际问题来说,欧拉公式与改进欧拉公式精度还不能满足要求,为此从另一个角度来分析这两个公式的特点,从而探索一条构造高精度方法的途径.,改进欧拉法,三阶龙格-库塔方法,三阶龙格-库塔方法是用三个值,k,1,k,2,k,3,的线性组合,要使三阶龙格-库塔方法具有三阶精度,必须使其局部截断误差为,O,(,h,4,),将,k,1,k,2,k,3,代入,y,n+1,的表达式中,在,(,x,n,y,n,),处用二元泰勒公式展开,与,y,(,x,n+1,)在,x,n,处的泰勒展开式比较,类似二阶龙格,-,库塔方法的推导过程,8 个待定系数,c,1,c,2,c,3,a,2,a,3,b,21,b,31,b,32,应满足:,8 个未知参数,6 个方程,有无穷多组解,三阶龙格库塔公式,四阶,Runge-Kutta,方法,附注:,二阶,Runge-Kutta,方法的局部截断误差,只能达到,五阶,Runge-Kutta,方法的局部截断误差,只能达到,四阶,Runge-Kutta,方法的局部截断误差,只能达到,三阶,Runge-Kutta,方法的局部截断误差,只能达到,附注:,龙格-库塔法的主要运算在于计算 的值,即计算 的值。Butcher 于1965年给出了计算量与可达到的最高精度阶数的关系:,7,5,3,可达到的最高精度,6,4,2,每步须算,K,i,的个数,由于龙格-,库塔法的导出基于泰勒展开,故精,太好的解,最好采用,低阶算法,而将步长,h,取小,。,度主要受解函数的光滑性影响。对于光滑性不,感谢您的听讲!,
展开阅读全文