数值分析 第七章 常微分方程的数值解法

1 数值解法相关公式

1.1 为什么要研究数值解法?

所谓数值解法,就是设法将常微分方程离散化,建立差分方程,给出解在一些离散点上的近似值.

1.2 问题 7.1 一阶常微分方程初值问题的一般形式

{y=f(x,y),axby(a)=α

其中f(x,y)是已知函数,α为给定的初值.
若函数f(x,y)在区域
{axb,<y<+}上连续且关于y满足Lipschitz条件
|f(x,y)f(x,y¯)|L|yy¯|,y,y¯

其中L>0Lipschitz常数,则初值问题(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上的近似值yny(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,...,N1

1.5 梯形差分公式

yn+1=yn+h2[f(xn,yn)+f(xn+1,yn+1)]y0=α,n=0,1,2,...,N1

1.6 Euler中点公式(双步Euler公式)

{yn+1=yn1+2hf(xn,yn)y0=α,n=0,1,2,...,N1

Euler公式和梯形公式中,为求得yn+1,只需用到前一步的值yn,这种差分方法称为单步法,这是一种自开始方法.Euler中点公式则不然, 计算yn+1时需用到前两步的值yn , yn1 ,称其为两步方法,两步以上的方法统称为多步法.在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,...,N1

2 差分公式的误差分析

在节点xn+1的误差y(xn+1yn+1),不仅与yn+1这一步计算有关,而且与前n步计算值yn,yn1,...,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))=fnx+fnyfny′′′(xn)=f′′(xn,y(xn))=2fnx2+22fnxyfn+2fny2f2n+fnxfny+(fny)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+22f(xn,yn)xyhk+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),axby(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,均有

limh0yn=y(xn)
,则称单步法(7.1)是收敛的
可见,若方法(8.5)是收敛的,则当h0时,整体截断误差en=y(xn)yn将趋于零.

定理7.1

设单步方法(7.1)是p1阶方法, 增量函数Φ(x,y,h)在区域{axb,<y<+,0hh0}上连续,且关于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的取值范围称为方法的绝对稳定域,它与实轴的交集称为绝对稳定区间

说明:单步显式方法的稳定性与步长密切相关, 在一种步长下是稳定的差分公式,取大一点步长就可能是不稳定的.收敛性是反映差分公式本身的截断误差对数值解的影响;稳定性是反映计算过程中舍入误差对数值解的影响.只有即收敛又稳定的差分公式才有实用价值.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值