常微分方程初值问题数值解法 本章讨论常微分方程初值问题数值解法,主要是差分法
解微分方程的所谓差分法的要点如下:首先是区域的离散,即将连续的求解区域离散化成有限个网格点
其次是方程的离散,例如用差商代替微商,或者对微分方程积分使之变成积分方程,然后数值积分,或者……
最后得到网格点上的近似解所满足的一个差分方程,解之即得差分解
1 常微分方程差分法 考虑常微分方程初值问题:求函数( )u t 满足 ( ,) , 0duf t utTdt (i
1a) 0(0)uu (i
1b) 其中( ,)f t u是定义在区域 G : 0tT, u 上的函数,0u和T 是给定的常数
我们假设( ,)f t u对 u 满足 Lipschitz 条件,即存在常数L 使得 121212( ,)( ,), [ 0 ,] ; ,(,)ft uft uL uutTuu (i
2) 这一条件保证了(i
1)的解是适定的,即存在,唯一,而且连续依赖于初值0u
通常情况下,(i
1)的精确解不可能用简单的解析表达式给出,只能求近似解
本章讨论常微分方程最常用的近似数值解法--差分方法
先来讨论最简单的 Euler 法
为此,首先将求解区域[0,]T 离散化为若干个离散点: 0110NNttttT (i
3) 其中nthn,0h 称为步长
在微积分课程中我们熟知,微商(即导数)是差商的极限
反过来,差商就是微商的近似
在0tt处,在(i
1a)中用向前差商10( )()u tu th代替微商 dudt,便得 10000()()(,() )ututh ftut 如果忽略误差项0 ,再换个记号,用iu 代替 ( )iu t便得到 1000(,)uuh ftu 一般地,我们有 1E u l e r (,) , 0 ,