1 数值解法相关公式
1.1 为什么要研究数值解法?
所谓数值解法,就是设法将常微分方程离散化,建立差分方程,给出解在一些离散点上的近似值.
1.2 问题 7.1 一阶常微分方程初值问题的一般形式
{y′=f(x,y),a⩽x⩽by(a)=α
其中
f(x,y)
是已知函数,
α
为给定的初值.
若函数
f(x,y)
在区域
{a⩽x⩽b,−∞<y<+∞}
上连续且关于
y
满足
Lipschitz条件
|f(x,y)−f(x,y¯)|⩽L|y−y¯|,∀y,y¯
其中
L>0
为
Lipschitz
常数,则初值问题(7.1)有唯一解。
1.3 构造数值解法的基本思想
假设初值问题(7.1)的解
y=y(x)
唯一存在且足够光滑.对求解区域
[a,b]
做剖分
a=x0<x1<x2<...<xn<...<xN=b
其中剖分点
xn=a+nh,n=0,1,...,N
,
h
称为
剖分步长,数值解法就是求精确解
y(x)在剖分节点
xn
上的近似值
yn≈y(xn),n=1,2,...,N
.
我们采用数值积分方法来建立差分公式.
在区间
[xn,xn+1]
上对方程(7.1)做积分,则有
y(xn+1)−y(xn)=∫xn+1xnf(x,y(x))dx
对右侧分别应用左矩形公式、梯形公式和中矩形公式,可分别得到
Euler
公式、梯形差分公式和
Euler
中点公式。
1.4
Euler
公式
{yn+1=yn+hf(xn,yn)y0=α,n=0,1,2,...,N−1
1.5 梯形差分公式
⎧⎩⎨yn+1=yn+h2[f(xn,yn)+f(xn+1,yn+1)]y0=α,n=0,1,2,...,N−1
1.6
Euler
中点公式(双步
Euler
公式)
{yn+1=yn−1+2hf(xn,yn)y0=α,n=0,1,2,...,N−1
在
Euler
公式和梯形公式中,为求得
yn+1
,只需用到前一步的值
yn
,这种差分方法称为
单步法,这是一种自开始方法.
Euler
中点公式则不然, 计算
yn+1
时需用到前两步的值
yn
,
yn−1
,称其为
两步方法,两步以上的方法统称为
多步法.在
Euler
公式和
Euler
中点公式中,需要计算的
yn+1
已被显式表示出来,称这类差分公式为
显式公式,而梯形公式中,需要计算的
yn+1
隐含在等式两侧,称其为
隐式公式.隐式公式中,每次计算
yn+1
都需解方程,要比显式公式需要更多的计算量,但其计算稳定性较好.
1.7 改进的
Euler
方法
从数值积分的角度来看,梯形差分公式计算数值解的精度要比
Euler
公式好,但它属于隐式公式,不便于计算.实际上,常将
Euler
公式与梯形差分公式结合使用,通常采用只迭代一次的算法:
⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪yn+1=yn+h2(K1+K2)K1=f(xn,yn)K2=f(xn+h,yn+hK1)y0=α,n=0,1,2,...,N−1
2 差分公式的误差分析
在节点
xn+1
的误差
y(xn+1−yn+1)
,不仅与
yn+1
这一步计算有关,而且与前
n
步计算值yn,yn−1,...,y1都有关。
为了简化误差分析,着重研究进行一步计算时产生的误差,即假设
yn=y(xn)
,求误差
y(xn+1)−yn+1
,这时的误差称为局部截断误差,它可以反映出差分公式的精度。
如果单步差分公式的局部截断误差为
O(hp+1)
,则称该公式为
p
阶方法.这里p为非负整数.显然,阶数越高,方法的精度越高.
研究差分公式阶的重要手段是
Taylor
展开式,一元函数和二元函数的
Taylor
展开式为:
2.1
Taylor
一元展开式
y(xn+1)=y(xn+h)=y(xn)+y′(xn)h+y′′(xn)2!h2+y′′′(xn)3!h3+O(h4)
其中,
y′(xn)=f(xn,y(xn))=f(xn,yn)=fny′′(xn)=f′(xn,y(xn))=∂fn∂x+∂fn∂yfny′′′(xn)=f′′(xn,y(xn))=∂2fn∂x2+2∂2fn∂x∂yfn+∂2fn∂y2f2n+∂fn∂x∂fn∂y+(∂fn∂y)2fn
2.2
Taylor
二元展开式
f(xn+h,yn+k)=f(xn+yn)+∂f(xn,yn)∂xh+∂f(xn,yn)∂yk+12![∂2f(xn,yn)∂x2h2+2∂2f(xn,yn)∂x∂yhk+∂2f(xn,yn)∂y2k2]+O(h3)
对
Euler
方法,有
yn+1y(xn+1)=yn+hf(xn+yn)=y(xn+h)=y(xn)+y′(xn)h+y′′(xn)2!h2+y′′′(xn)3!h3+O(h4)=yn+f(xn,yn)h+O(h2)
从而
y(xn+1)−yn+1=O(h2)
,所以
Euler
是一阶方法。 3 单步方法的收敛性与稳定性
3.1 单步方法的收敛性
对于给定的初值问题
{y′=f(x,y),a⩽x⩽by(a)=α
的单步显示方法可以统一写成如下形式:
yn+1=yn+hΦ(xn,yn,h)(7.1)
其中,
Φ(x,y,h)
称为增量函数,对于
Euler
方法,有
Φ(x,y,h)=f(x,y)
,对于改进
Euler
方法,有
Φ(x,y,h)=12[f(x,y)+f(x+h,y+hf(x,y))]
定义7.1 单步法的收敛性
设
y(x)
是初值问题(7.1)的解 ,
yn
是单步法 (7.1)产生的近似解.如果对任意固定的点
xn
,均有
limh→0yn=y(xn)
,则称单步法(7.1)是收敛的。
可见,若方法(8.5)是收敛的,则当
h→0
时,整体截断误差
en=y(xn)−yn
将趋于零. 定理7.1
设单步方法(7.1)是
p⩾1
阶方法, 增量函数
Φ(x,y,h)
在区域
{a⩽x⩽b,−∞<y<+∞,0⩽h⩽h0}
上连续,且关于y满足
Lipschitz
条件,初始近似
y0=y(a)=α
,则方法(7.1)是收敛的,且存在与h无关的常数
C
,使|y(xn)−yn|⩽Chp
3.2 单步方法的稳定性
定义7.2 单步方法的稳定性
对于初值问题(7.1),取定步长
h
,用某个差分方法进行计算时,假设只在一个节点值yn上产生计算误差
δ
,即计算值
yn¯=yn+δ
,如果这个误差引起以后各节点值
ym(m>n)
的变化均不超过
δ
,则称此差分方法是绝对稳定的.讨论数值方法的稳定性,通常仅限于典型的试验方程
y′=λy
,其中
λ
是复数且
Re(λ)<0
.在复平面上,当方法稳定时要求变量
λh
的取值范围称为方法的绝对稳定域,它与实轴的交集称为绝对稳定区间。
说明:单步显式方法的稳定性与步长密切相关, 在一种步长下是稳定的差分公式,取大一点步长就可能是不稳定的.收敛性是反映差分公式本身的截断误差对数值解的影响;稳定性是反映计算过程中舍入误差对数值解的影响.只有即收敛又稳定的差分公式才有实用价值.