符号 |
含义 |
y(xn) |
xn处精确值,无误差 |
yn |
xn处理论计算值,只有截断误差影响 |
yˉn |
xn处实际计算值,还有舍入误差影响 |
En=y(xn)−yn |
局部截断误差,En=O(hP+1)有P阶精度。 |
⎩⎪⎨⎪⎧dxdy=f(x,y)y(x0)=y0a≤x≤b
如果函数f(x,y)在区域{a≤x≤b,m≤y≤M}上连续,且关于y满足Lipschitz条件:
∣f(x,y1)−f(x,y2)∣≤L∣y1−y2∣
其中L为一个正数称为Lipschitz常数。若满足Lipschitz条件,则一阶常微分方程的解存在且唯一。若不满足,则未必存在唯一解。
y(xn+1)−y(xn)=∫xnxn+1f(x,y(x))dx ①
y(xn+1)−y(xn−1)=∫xn−1xn+1f(x,y(x))dx ②
对于一阶常微分方程,其单步方法可写成:yn+1=yn+hΦ(xn,yn,h)
- h:步长
- Φ(xn,yn,h):增量函数
定义1
h→0limyn=y(xn)
定义2
k→∞limyn+1[k]=yn+1
定义1
对于给定的初值问题,取定步长h,用差分方法进行计算时,假设只在一个节点值yn上产生计算误差σ,如果这个误差引起的以后各节点计算值ym,(m>n)的变化均不超过σ,则称此差分方法是绝对稳定的。
通常仅限于实验方程
dydx=λy
其中λ是复数,且Re(λ)<0(即λ实部<0)
定义2
将单步方法用于解试验方程,假设得到
ynyn+1=E(λh)
若满足条件∣E(λh)∣<1则称此单步方法是绝对稳定的。否则是不稳定的。
在复平面上,变量λh满足∣E(λh)∣<1的区域称为此方法的绝对稳定域,它与实轴的交集称为绝对稳定区间。
计算稳定性
若满足
∣ρn∣∣ρn+1∣<1
- ρn:计算yn时的误差
则说明计算中摄入误差可以得到控制,数值方法是稳定的。
一般仅考虑模型方程y′=λy,要求λ<0或Re(λ)<0。
- 显式Euler的绝对稳定区为:∣1+λh∣≤1
- 梯形公式、改进Euler的绝对稳定区为:∣∣∣∣∣1−21hλ1+21hλ∣∣∣∣∣≤1
y′=−10y,y(0)=1,当用Euler方法求解时,h取值范围为多少才能使计算稳定。
解
f(x,y)=−10y,构造Euler公式得yn+1=yn+h(−10yn)=(1−10h)yn
则
∣∣∣∣∣ρnρn+1∣∣∣∣∣=∣∣∣∣∣yn∗−ynyn+1∗−yn+1∣∣∣∣∣=∣1−10h∣<1
解得0<h<0.2
由基本差分公式①和左矩形近似(∫abf(x)dx≈(b−a)f(a))得
yn+1=yn+hf(xn,yn) n=0,1,2,⋯
1阶精度。
局部截断误差
y(xn+1)−yn+1=2!y′′(xn)h2+O(h3)=O(h2),故欧拉公式为一阶方法。
一阶常微分方程:⎩⎪⎨⎪⎧dxdy=f(x,y)y(x0)=y0a≤x≤b
求{y′=−y+x+1y(0)=1x≥0的初值,取h=0.1,计算到x=0.5
解
f(x)=−y+x+1 =x+e−x,由欧拉公式得yn+1=yn+h(−yn+xn+1),即
{xn+1=xn+hyn+1=0.9yn+0.1(xn+1)
n |
xn |
yn |
0 |
0 |
1 |
1 |
0.1 |
1.0 |
2 |
0.2 |
1.01 |
3 |
0.3 |
1.029 |
4 |
0.4 |
1.0561 |
5 |
0.5 |
1.09049 |
由基本差分公式①和梯形近似(∫abf(x)dx≈2b−a[f(a)+f(b)])得
yn+1=yn+2h[f(xn,yn)+f(xn+1,yn+1)] n=0,1,2,⋯
由基本差分公式②和中矩形近似(∫abf(x)dx≈(b−a)f(2a+b))得
yn+1=yn−1+2hf(xn,yn) n=1,2,⋯
yn+1=yn+2h[f(xn,yn)+f(xn+1,yn+hf(xn,yn))] n=0,1,2,⋯
2阶精度。
局部截断误差
y(xn+1)−yn+1=O(h3),故改进的欧拉公式为二阶方法。
⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧yn+1=yn+h(i=1∑pλiKi)K1=f(xn,yn)K2=f(xn+α2h,yn+hβ21K1)⋯,⋯Kp=f(xn+aph,yn+h(i=1∑p−1βpiKi))
其中{λi,αi,βij}为待定参数,此公式称为:p级Runge-Kutta方法。
若p级Runge-Kutta方法的局部截断误差为O(hp+1),则称为p级R-K方法。
当p=2时
⎩⎪⎪⎨⎪⎪⎧yn+1=yn+h(λ1K1+λ2K2)K1=f(xn,yn)K2=f(xn+αh,yn+hβK1)
若取α=1,λ1=λ2=21,β=1,则此时该公式为:改进的Euler方法。
若取α=β=21,λ1=0,λ2=1,则此时该公式为:中点公式。
k+1步线性多部方法的一般形式为
yn+1=i=0∑kαiyn−i+hi=−1∑kβifn−i
β−1=0 |
β−1=0 |
显式公式 |
隐式公式 |
局部截断误差
y(xn+1)−yn+1=O(hk+2)
阿达姆斯(Adams)显式公式、四阶方法
设已求得精确解y(x)在步长为h的前k+1个等距节点xn−k,⋯,xn上的近似值yn−k,⋯,yn,构造k次Lagrange插值多项式
Pk(x)=i=0∑kln−i(x)fn−i
由基本差分公式①和f(x,y)=Pk(x)+Rk(x)得k+1步Adams显式公式
yn+1=yn+hi=0∑kβkifn−i
- βki=i!(k−i)!(−1)i∫01j=ij=0∏k(t+j)dt
当k=3时,即四阶Adams显式公式为
yn+1=yn+24h(55fn−59fn−1+37fn−2−9fn−3)
阿达姆斯(Adams)隐式公式、四阶方法
如果利用k+1个数据(xn−k+1,fn−k+1),⋯,(xn+1,fn+1)构造k次Lagrange插值多项式Pk(x),则可导出数值稳定性好的Adams隐式公式
yn+1=yn+hi=0∑kβki∗fn−i+1
- βki∗=i!(k−i)!(−1)i∫−10j=ij=0∏k(t+j)dt
当k=3时,即四阶Adams隐式公式
yn+1=yn+24h(9fn+1+19fn−5fn−1+fn−2)