文档介绍:
本章讨论常微分方程初值问题数值解法,主要是差分法。解微分方程的所谓差分法的要点如
下:首先是区域的离散,即将连续的求解区域离散化成有限个网格点。其次是方程的离散,
例如用差商代替微商,或者对微分方程 (t,u(t))dt ()
n1 n t
n
用各种数值积分公式计算()中的积分,便导致各种不同的差分法。例如,若用左矩形公
式就得到 Euler 法()。如果用右矩形公式,便得到下面的:
隐式Euler方法:u u h f (t ,u ), n 0,1, , N 1 ()
n1 n n1 n1
类似地,如果用梯形公式,就得到
h
改进的Euler方法 u u [ f (t ,u ) f (t ,u )], n 0,1, , N 1 ()
n1 n 2 n1 n1 n1 n1
当 f (t,u) 关于 u 是非线性函数的时候,不能由()和()从 u 直接算出 u ,称这一类
n n1
方法为隐式,通常采用某种迭代法求解。例如,将一般的隐式方法写成
u F(t ,u ,u ) ()
n1 n n n1
则可以利用如下的迭代法由u 算出u :
n n1
uk1 F(t ,u ,uk ), k 0,1,
n1 n n n1 ()
u0 u
n1 n
关于 k 的迭代通常只需进行很少几步就可以满足精度要求了。
为了避免对隐式方法进行迭代的麻烦,比如说对于改进的 Euler 方法(i .7 ),可以采用
某种预估法近似算出 f (t ,u ) ,然后再用(i .7)作校正,这就导致所谓预估校正法。下
n1 n1
面给出一个例子:
u f (t , u )
n n n
预估: u u 2hu
n 1 n 1 n
u f (t , u ) ()
n 1 n 1 n 1
h
校正: