根據給定的初始條件,確定常微分方程惟一解的問題叫常微分方程初值問題。大多數實際問題難以求得解析解,必須將微分問題離散化,用數值方法求其近似解。
一階常微分方程的初值問題的提法是,求出函數y(x),使滿足條件
![](/img3/2364.gif)
![](/img3/2365.gif)
離散化方法 常用的有三種:
① 基於數值微分的方法 將方程(1)左端的導數用某個一階數值微分公式代替,例如在xn點以(yn+1-yn)/h代替yń即得到歐拉向前公式
![](/img3/2366.gif)
![](/img3/2367.gif)
![](/img3/2368.gif)
![](/img3/2369.gif)
② 基於泰勒展開的方法 設計一個算法,假定公式中含有某些待定常數,在函數光滑的假定下,將其按泰勒展開並與微分方程解y(xn+h)的展式中h的同冪次項相比較,按照給定的精度階得到待定常數應滿足的一些方程,通過這些方程確定待定常數,即可得到所要的差分公式。由此法可導出龍格-庫塔公式。
設計算公式有下列形式
![](/img3/2370.gif)
![](/img3/2371.gif)
αi、βij為待定常數。取定N值,可按上述泰勒展開的方法確定它們。最常用的顯式4階龍格-庫塔公式為
![](/img3/2372.gif)
![](/img3/2373.gif)
③ 基於函數數值積分的方法 將微分方程的解y(x)代入方程(1),在子區間[xn-ih,xn+jh]上積分得到公式
![](/img3/2374.gif)
![](/img3/2375.gif)
![](/img3/2376.gif)
解法可按計算yn+1時用多少個結點上的值分為單步法和多步法,又可以按yn+1出現的形式分為顯式法和隱式法。
單步法是指已知結點xn上yn的值便可計算yn+1的值的解法,如(2)、(3)、(4)。單步法是可以自己起步的,即可從方程的初值y0一步步算出y1,y2,…的值。
多步法是指已知yn,yn-1,…,yn-k+1(k≥2)的值才能計算yn+1的值的解法,又稱k步法。例如,(8)是四步法,(9)是三步法。多步法不能自己起步,即給瞭初值y0以後,還要用其他解法(如單步法),算出y1,y2,…,yk-1後,才能使用多步法,繼續往下計算。多步法公式若對yi和fi都是線性的,則稱作線性多步法,k步線性多步法的一般形式為
![](/img3/2377.gif)
顯式法的公式中,未知的yn+1明顯地被表示,即公式中除yn+1一項外,其他的項中不再含有yn+1,如公式(2)。
隱式法的公式不顯含yn+1,求未知的yn+1時一般需要解方程,如公式(3)或(4)。通常用各種迭代方法解隱式差分方程,也可采用較簡單的預估-校正方法,如使用梯形公式(4)時,可先用顯式公式(2)求得yn+1的預估值,代入式(4)的函數fn+1中,再求得yn+1的值。此法又稱改進的歐拉折線法。
數值解法滿足相容的、收斂的、數值穩定的條件時,才有實用價值。為此要研究以下的一些問題。
相容性 將微分方程離散化所帶來的誤差叫截斷誤差。當h→0時,截斷誤差趨於零,則稱離散化後的方程與微分方程具有相容性,表示離散化後的方程是微分方程的近似。若截斷誤差的主要項為Chp+1,則稱截斷誤差的階是p+1,而稱該解法是p階的。p越大表示離散化後的方程與微分方程近似程度越高。
收斂性 是指當h→0時,全局誤差εi→0,即離散問題的解yn收斂於微分問題的解y(x),這是離散解可用的理論基礎。p階的解法,即是當h→0時,εi以hp的速度收斂。
誤差估計 對全局誤差εi的估計,是應用數值解法時最關心的問題。先驗估計通常隻能給出誤差的階,即誤差的主要項中步長h的冪次。一般采用事後估計,即在計算的過程中估計誤差,例如用理查森外推法估計誤差。外推法也是提高解的精確度的有效方法。
數值穩定性 是指計算過程中,某一步上產生的誤差一步一步地傳遞下去,是衰減、不增或有界,使得傳遞下來的誤差不致於影響數值解的精度,至少是不會湮沒數值解。數值穩定性是常微分方程數值積分時必須考慮的問題。
1956年G.達赫爾斯特證明:存在2k階k步線性多步法,但數值穩定的k步線性多步法,當k為偶數時,其階不能超過k+2,當k為奇數時,其階不能超過k+1。稱為限制性定理。
判別一個數值方法的穩定性時,微分方程
![](/img3/2378.gif)
![](/img3/2379.gif)
![](/img3/2380.jpg)
![](/img3/2381.jpg)
![](/img3/2382.jpg)
穩定區域 是指將一個數值積分方法應用於測驗方程(10),在λh復平面上使方法數值穩定的區域。歐拉公式(2)的穩定條件為|1+λh|<1,其穩定區域是以[-2,0]為直徑的圓的內部(圖1)。龍格-庫塔法(6)的穩定區域由條件
![](/img3/2383.gif)
![](/img3/2384.gif)
剛性方程組、常微分方程組的初值問題為:
![](/img3/2385.gif)
式中
![](/img3/2386.gif)
![](/img3/2387.gif)
![](/img3/2388.gif)
![](/img3/2389.gif)
![](/img3/2390.gif)
![](/img3/2391.gif)
![](/img3/2392.gif)
![](/img3/2393.gif)
參考書目
P.Henrici,Discrete variable Methods in Ordinary Differential Equations,John Wiley &Sons,New York,1962.
C.W.吉爾著,費景高、劉德貴、高永春譯:《常微分方程初值問題的數值解法》,科學出版社,北京,1978。(C.W.Gear,Numerical Initial Value Problems in Ordinary Differential Equations,Prentice-Hall,Englewood Cliffs,New Jersey,1971.)