资源描述:
《常微分方程初值问题的数值解法.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、常微分方程初值问题的数值解法制作人:赵文波1引言一般的一阶常微分方程初值问题y`=f(t,y),a≤t≤by(a)=η(1.1)定理一如果f(t,y)在带形区域内R={(t,y)
2、a≤t≤b,-∞≤u≤+∞}中连续,且关于y满足Lipschitz条件:存在常数L,使得
3、f(t,y1)–f(t,y2)
4、≤L
5、y1-y2
6、(1.2)定理二如果f(t,y)在R={(t,y)
7、a≤t≤b,-∞≤u≤+∞}中连续,且关于y满足Lipschitz条件,那么初值问题是适定的(1.3)2离散变量和离散误差离散化过程:把初值为(1.1)的精确
8、解y(t)在一系列的离散点:t1,t2,……tN处的近似值y1y2……yN用y(tn)表示在t=tn处的近似值,n=1,2,……N.离散化方法1.差商代替导数的方法2.Taylor级数法误差1.局部离散误差2.局部截断误差3.整体离散误差3单步法单步法的一般形式显式方法:yn+1=yn+hФ(tn,yn,h),n=0,1,2,…N-1,y0=η,(3.1)或隐式方法:yn+1=yn+hФ(tn,yn,yn+1,h),n=0,1,2,…N-1,y0=η,(3.2)Ф为增量函数,N是正整数,h=(b-a)/NEuler法算法10.
9、1y`=f(t,y),a≤t≤b;y(a)=ηInput端点a,b;区间等分数N,初值ηOuputy(t)在t的N个点处的近似值Step1h←(b-a)/N;t←a;y←η.Step2Fori=1,2,…,NdoStep3-4Step3y←y+hf(t,y);t←a+ih.Step4Output(t,y).Step5return.改进的Euler法解初值问题的梯形计算公式yn+1=yn+(h/2)[f(tn,yn)+f(tn+1,yn+1)],n=0,1,2,…N-1(3.8)y0=η;h=(b-a)/N局部离散误差为Rn=-
10、(h3/12)y```(ξn)y(0)n+1=yn+hf(tn,yn),yn+1=(1/2)[y(0)n+1+yn+hf(tn+1,y(0)n+1)]n=0,1,2,…N-1(3.10)二阶Runge-Kutta方法m阶Runge-Kutta显式方法Richardson外推法4单步法的相容性和稳定性相容性收敛性稳定性4.1相容性单步法的一般形式yn+1=yn+hФ(tn,yn,h),n=0,1,2,…N-1,y0=η,(4.1)定义1Ф(t,y,0)=f(t,y)(4.3)成立,则称单步法与微分初值问题(1.1)相容,(4.3
11、)为相容条件。定理一假设Ф(t,y,0)关于h是连续的,若单步法与微分初值问题(1.1)相容,则它至少是一阶方法。4.2收敛性定义2假设微分方程(1.1)的右端函数f(t,y)在带形区域内R={(t,y)
12、a≤t≤b,-∞≤u≤+∞}中连续,且关于y满足Lipschitz条件。若对所有的t∈[a,b],limh→0tn=t固定yn=y(t)则称单步法是收敛的。定理2若Ф(t,y,h)对于a≤t≤b,0≤h≤h0以及一切实数y,关于t,y,h满足Lipschitz条件,则单步法(4.1)收敛的充分必要条件是相容条件成立,即Ф(t
13、,y,0)=f(t,y).定理3在定理2的假设下,单步法(4.1)的局部离散误差满足(4.13),则其整体离散误差误差εn=y(tn)-yn满足估计式
14、εn
15、≤eL(b-a)
16、ε0
17、+hpM(eL(b-a)–1)/LL是Ф(t,y,h)关于y满足Lipschitz条件的Lipschitz常数。4.3稳定性定义3如果存在常数h0及C,使得对任意的初始值y0,y0`,单步法(4.1)的相应的精确解yn,yn`,对所有的018、yn-yn`
19、≤C
20、y0-y0`
21、,nh≤b-a,则说单步法(4.1)是稳定。定理4若Ф(t,
22、y,h)对于a≤t≤b,0≤h≤h0以及一切实数y,关于t,y,h满足Lipschitz条件,则单步法(4.1)是稳定的。定义4对给定的微分方程和给定的步长h,若有单步法(显式或隐式)计算yn时有大小为δ的误差,即计算得yn`=yn+δ,而引起其后值ym(m>n)的变化小于δ(
23、ym-ym`
24、<
25、δ
26、),则说单步法是绝对稳定的。一般限于y`=μy(4.20)考虑数值方法的绝对稳定性,μ为复常数,若对于所有μh∈(α,β),单步法都绝对稳定,称(α,β)为绝对稳定区间。5多步法5.1线性多步法y`=f(t,y),a≤t≤by(a
27、)=η(1.1)线性k步法的一般公式5.2Adams方法显式Adams方法隐式Adams方法5.3预测-校正方法y(0)n+1=yn+hf(tn,yn)(5.20)yn+1=(1/2)[y(0)n+1+yn+hf(tn+1,y(0)n+1)](5.21)n=0,1,2,…N-