常微分方程初值问题.ppt
1,第五章 常微分方程初值问题,引言基本概念Euler方法及其改进,2,1 引言,一、常微分方程的定解问题与应用,应用:自然科学领域,如物理;,工程技术问题,如石油勘探。,常微分方程的定解问题主要有初值问题和边值问题两大类,我们仅考虑初值问题。,例:,马尔萨斯人口模型:假设某特定区域在t0时刻的人口p(t0)=p0为已知的,该区域人口的自然增长率为。人口的增长与人口的总数成正比,所以 t 时刻的人口总数 p(t)满足如下的微分方程:,一般地,称这样的方程为模型方程。,3,二、常微分方程的解法:,解析法:给出精确解析解。只适合少数简单情况。近似解法:给出解的近似表达式。如级数法,逐步逼近法。数值方法:给出方程在离散点上的近似解。它适合计算机求解,应用广泛,具有理论应用价值。,三、常微分方程初值问题的数值方法,单步法,Euler方法,Taylor方法和Runge-Kutta方法,多步法,Adams方法和一般线性多部法,线性多部法的收敛性与稳定性,4,2 基本概念,一、常微分方程初值问题的一般提法,问题:,其中:f(x,y)为已知函数,是已知值.(可能是观察值或实验值),(2),(1),基本条件:,设,f(x,y)在D上连续;f(x,y)在D上关于变量y满足Lipschitz连续条件:,其中L为Lipschitz常数。,(3),5,若f(x,y)在D上满足基本条件,一阶常微分方程初值问题(1),(2)对任意给定的存在唯一解且在a,b上连续可微.,定理1,关于解y(x)的适定性:,定义1,方程(1),(2)的解y(x)称为适定的,若存在常数0,K 0,对任意满足条件,常微分方程初值问题:,存在唯一解z(x),且有,摄动(扰动)误差,(4),(1),(2)上各加一个摄动(扰动)项.,(1),(2)上各加一个摄动(扰动)项.,6,定理2,适定问题的解y(x)连续依赖于(1)式右端的f(x,y)和初值.或者说解y(x)关于(1)式右端的f(x,y)和初值稳定.假设f(x,y)在D上满足基本条件,从而方程(1),(2)的解y(x)存在且适定.,注:,若f(x,y)在D上满足基本条件,则微分方程(1),(2)的解y(x)是适定的.,7,假设初值问题(1)的解y=y(x)唯一存在且足够光滑,对求解区域a,b做剖分,1 构造数值解法的基本思想,在区间xk,xk+1上对方程(1)做积分,则有,二、初值问题数值解的基本概念,常用等步长:,则有,(1),(2)的准确解记为y(x),称为步长。,的近似解记为,8,因此,建立节点处近似值yn满足的差分公式,称为Euler公式.,称为梯形公式.,若对*式右边的积分应用梯形求积公式,则可导出差分公式,对右边的积分应用左矩形公式,则有,9,称为Euler中点公式或称双步Euler公式.,若在区间xk-1,xk+1上对方程(1)做积分,则有,对右边的积分应用中矩形求积公式,则得差分公式,因此,求初值问题数值解的基本方法是步进法.即逐个节点计算,由 yi(ik)计算yk+1,步进法,由yk-j(j=0,1,l-1)计算yk+1共用到l个值.,即yk+1,yk-1,yk-l+1称为l步法。,仅由yk计算yk+1,10,单步法与多步法的区别:,(1)计算方面:,l步方法只用于,的计算,即y0,y1,yl-1的计算要用其它方法。,(2)理论分析:,单步法比 l 1的多步法容易分析(稳定性).,(3)选步长方面:,单步法容易改变步长.,(4)精度:,多步法精度高一些.,单步法与多步法均有显式和隐式方法之分.在Euler公式和Euler中点公式中,需计算yk+1的已显式表示,称为显式公式,而梯形公式中,需要计算的yk+1隐含在等式两侧,称其为隐式公式.计算公式依次可抽象写成:,显式单步法:,隐式单步法:,(5),(6),11,该式右端项含有,因此若求,需要解方程。,注:,显式多步法:,隐式多步法:,线性多步法:,注:(9)关于yk-i,fk-i都是线性的。,其中,是独立于k和f 的常数。,(9)是显式(右端不含有yk+1);,则(9)是隐式的。,(7),(8),(9),三、微分方程初值问题的数值解法讨论的问题:,1.方法构造,2.误差分析,3.稳定性,12,3 Euler方法,考虑,一、显式Euler方法(折线法),1.显式欧拉公式,其中fk=f(xk,xk+1).,(1),(2),(10),设节点为:a=x0 x1xn=b,步长 hk=xk+1-xk,则(1),(2)的Euler方法为,13,推导:,(1)Taylor展开法,忽略高阶项,分别用,近似,结合初值条件y(x0)=即得,(11),即得(10)式:,将 y(xk+1)在x=xk点进行Taylor展开,14,(2)向前差分近似微分法,向前差商,近似y(xk),得,(12),将近似号改为等号,结合初始条件即得(10)式。,15,(3)左矩数值积分法,将(1)式两端从xk到xk+1积分,得,数值积分采用左矩形公式,即,由初始条件亦得(10)式.,类似的,16,2.几何意义,o,方程(1),(2)的解曲线 y(x)过点 p0(x0,y0),具有斜率 f0。从 p0出发以 f0 为斜率做直线段,交 x=x1于点 p1(x1,y1),此时 y1=y0+h0f0,过p1(x1,y1)的解曲线如图示,具有斜率f1。再从p1出发,以f1为斜率做直线段,交x=x2于点p2(x2,y2),此时y2=y1+h1f1,过 p2(x2,y2)的解曲线如图。,以此类推,最终到达终点 pn(xn,yn),这样得到了一条折线,17,它在点pk的右侧具有斜率fk,与(1)过pk的解曲线相切。因此,Euler法的几何意义就是用折线 作为解曲线的近似。,折线,称为欧拉折线,所以欧拉方法又称为折线法。,特点:简单,精度低.,18,二、隐式Euler方法和梯形方法(Euler方法的改进),可得隐式欧拉方法:,1.隐式 Euler方法,或,(13),将 y(xk)在x=xk+1点进行Taylor展开,19,(2)隐式 Euler方法(13)是关于yk+1的方程,若求yk需要解方程(13),说明:,(1)隐式 Euler方法也可用向后差商,即用,近似微分,或者用右矩数值求积公式来建立.,20,2.梯形方法,取平均,得,忽略,项,用,得梯形方法:,与,说明:,梯形方法也是隐式方法,要求,需解方程(14).,由,分别近似,(14),也可由梯形求积公式导出,21,3.Euler方法、隐式Euler方法、梯形方法等单步法的对应关系,显式单步法,显式 Euler方法,隐式单步法,隐式Euler方法,梯形方法(隐式),22,在实际计算中希望有较好的,用较少的迭代步(次数),取得,称 为 的m次迭代,最常用的方法之一是先用显式Euler方法所得的 为,量较大,往往取 作为 来用,更精确的(足够精度的).而在实际计算中,的计算,改进。,(初始值),再由梯形方法改进一次,即是预估校正Euler方法(或称为改进Euler方法)。,23,三、预估校正Euler方法,(显式Euler公式),(梯形公式),或写成,(15),(16),此算法是单步递推格式,比隐式公式的迭代求解过程简单。稳定性高于显式欧拉法。,注:,24,分别用显式Euler方法,梯形方法和预估校正Euler方法解初值问题,解:,取 h=0.1,,Euler方法为:,例,解析解:y=e-x+x,25,梯形方法为:,预估校正Euler方法:,26,数值例子表明:梯形方法和预估校正Euler方法比显式Euler方法有更好的精度。,27,28,四、单步法的局部截断误差、整体截断误差,问题:,满足基本条件:,f(x,y)在D上连续;f(x,y)在D上关于变量y 满足Lipschitz条件.,29,1.局部截断误差的定义,设单步法为(数值方法公式):,定义2,设y(x)是方程(1),(2)的准确解,称,为单步法(17)在xk+1点的局部截断误差(方法误差)。,(17),(18),30,定义3,若对充分小的h 0,常数c 独立于h(与h无关),称(17)是 p 阶方法,即O(hp+1),判断某种方法的阶数往往通过局部截断误差的阶数来确定,而局部截断误差的阶容易由公式来确定。,说明:,(19),设y(x)是方程(1)(2)的准确解,yk,k=0,1,n是单步法(17)的数值解,称 ek=y(xk)-yk,是单步法(18)在xk点的整体截断误差。,成立,定义4,31,2.局部截断误差与整体截断误差之间的关系,若单步法(17)的局部截断误差是p+1阶的,即,c1独立于h(不依赖于h或与h无关),,且函数(x,u,v,h)在区域,定理4,上关于u,v 满足条件,则单步法(17)是 p 阶方法。,(20),32,推论:,当f 在D上满足基本条件时,单步法(17)的阶由局部截断误差的阶来确定。,结论:,一般情况下,若局部截断误差是 p+1阶的,则单步法是p 阶方法。,说明:,可用Taylor展开法估计,的阶,即,的主项,则对应的单步法是p 阶方法。,由于,(21),33,3.定理的应用(讨论各种方法的阶数),显式Euler方法是一阶方法,事实上,当(1),(2)的解y(x)二阶连续可导时,f(x,y)关于y满足Lipschitz条件,Lipschitz常数为L,其局部截断误差为:,将y(xk+1)在xk点展开可得,局部截断误差有界,存在M,使得,记,于是,34,反复递推得:,35,显式Euler方法的整体截断误差与h同阶。,36,隐式Euler方法是一阶方法,事实上,局部截断误差为:,将 f(x,y)在y用微分中值定理,有,则,将方程的解作Taylor展开,37,因此,38,梯形方法是二阶方法,将 f(xk+1,yk+1)在xkTaylor展开,有,则,将方程的解作Taylor展开,将 f(x,y)在y用微分中值定理,有,39,因此,40,预估校正Euler方法是二阶方法,事实上,局部截断误差为:,41,二阶方法,即得整体截断误差:,结论:,一般情况下,若局部截断误差是 p+1阶的,则单步法是p 阶方法。,方 法,显式欧拉,隐式欧拉,梯形公式,简单,精度低,稳定性最好,精度低,计算量大,精度提高,计算量大,42,五、单步法解的唯一性、收敛性和稳定性,唯一性,若f(x,y)在D上满足基本条件,f(x,y)关于y的Lipschitz常数为L时,只要hkL1,则由定理1可知(13)确定了唯一的yk+1。同理,只要hkL2,(14)确定了唯一的yk+1.,收敛性,(以(14)式为例说明),同样,从任意初始值出发,迭代(13)、(14),都收敛到,事实上,,43,在 上关于y 满足Lipschitz条件,且L常数为,由压缩不动点定理得方程,有唯一不动点,而且从 出发,迭代,(15),都收敛到,见非线性方程数值解的定理3,44,稳定性,例:考察初值问题 在区间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,45,定义,若某算法在计算过程中任一步产生的误差在以后的计算中都逐步衰减,则称该算法是绝对稳定的。,讨论数值方法的稳定性,通常仅限于典型的试验方程,其中是复数。在复平面上,当方法稳定时要求变量h的取值范围称为方法的绝对稳定域,它与实轴的交集称为绝对稳定区间.,46,将Euler方法应用于方程y=y,得到,设在计算yn时产生误差n,计算值yn=yn+n,则n将对以后各节点值计算产生影响.记ym=ym+m,m n,由上式可知误差m满足方程,可见,若要|m|n|,必须且只须|1+h|1,因此Euler法的绝对稳定域为|1+h|1,绝对稳定区间是-2Re()h0.,对于前述例题,因为h=-3不属于Euler方法的绝对稳定区间,故Euler方法计算出现严重错误。,47,类似前面分析,可知绝对稳定区域为,由于Re()0,所以此不等式对任意步长h恒成立,这是隐式公式的优点.,解出yn+1得,隐式单步方法可类似讨论.如对梯形公式使用试验方程,有,48,结论,单步显式方法的稳定性与步长密切相关,在一种步长下是稳定的差分公式,取大一点步长就可能是不稳定的.收敛性是反映差分公式本身的截断误差对数值解的影响;稳定性是反映计算过程中舍入误差对数值解的影响.只有即收敛又稳定的差分公式才有实用价值.,一些常用方法的绝对稳定区间,49,作业,1思考题1中的(a)(f),2习题3,