文档介绍:第6章 常微分方程初值问题数值解法
引言
基本离散方法
伦格-库塔法
1
引 言
本章要着重考察的一阶方程的初值问题
y′ = f (x, y) ()
()
y(x0 ) = y0
只要函数 f (x, y) 适当光滑——比如关于 y 满足利普
希茨(Lipschitz)条件
f (x, y) − f (x, y) ≤ L y − y ()
理论上就可以保证初值问题(),()的解 y = y(x)
存在并且唯一。
2
所谓数值解法,就是寻求解 y(x) 在一系列离散节点
x1 < x2 < < xn < xn+1 <
上的近似值 y1, y2 ,, yn , yn+1, 。相邻两个节点的间距
hn = xn+1 − xn 称为步长。
如不特别说明,总是假定 hi = h(i =1,2,...) 为定数,这
时节点为 xn = x0 + nh(i = 0,1,2,) 。
初值问题(),()的数值解法的基本特点是
采取“步进式”,即求解过程顺着节点排列的次序一步一步
地向前推进。
3
描述这类算法,只要给出用已知信息 yn , yn−1, yn−2 ,
计算 yn+1 的递推公式。
首先,要对方程()离散化,建立求其数值解的递推
公式。一类是计算 yn+1 时只用到前一点的值 yn ,称为单步
y +
法。另一类是用到 n 1 前面 k 点的值 yn , yn−1,, yn−k +1 ,
称为k步法。
其次,要研究公式的局部截断误差和阶,数值解 yn 与
精确解 y(xn )的误差估计及收敛性,还有递推公式的计算
稳定性等问题。
4
基本离散方法
差商逼近法
当步长 h 充分小时,有
yn+1 − yn yn+1 − yn yn − yn+1
y′(x ) ≈ , y′(x + ) ≈ =
n h n 1 h − h
若引入参数 θ ∈[0,1] ,则由上两式可得
y(xn+1) − y(xn )
θy′(x ) + (1−θ )y′(x + ) ≈
n n 1 h
y(xn+1) ≈ y(xn ) + h[θy′(xn ) + (1−θ )y′(xn+1)] ()
5
若取 θ =1 ,由()有
y(xn+1) ≈ y(xn ) + hy′(xn )
结合()有
yn+1 = yn + hf (xn , yn ) ()
这就是显式欧拉(Euler)公式。 若初值 y0 已知,则依公
式()可逐步算出
y1 = y0 + hf (x0 , y0 )
y2 = y1 + hf (x1, y1)
6
例1:求解初值问题