閆述濤
(中國(guó)傳媒大學(xué)理工學(xué)部,北京 100024)
在一階微分方程的求解當(dāng)中,穩(wěn)定性是一個(gè)必須要考慮的問(wèn)題,它對(duì)最終初值問(wèn)題的解產(chǎn)生直接的影響。求解微分方程的初值問(wèn)題所用的Euler法、后退的Euler法、梯形法、Runge-Kutta法,通常采用差分格式進(jìn)行求解,這樣就不可避免的在計(jì)算的過(guò)程中產(chǎn)生誤差,隨著計(jì)算過(guò)程的不斷進(jìn)行,誤差可能就會(huì)逐漸累積,影響最后結(jié)果的精確性。因此我們要對(duì)數(shù)值解法進(jìn)行穩(wěn)定性分析。
當(dāng)在第i個(gè)點(diǎn)上x(chóng)i的yi值存在值為δ的誤差時(shí),如果在第i個(gè)點(diǎn)后的各個(gè)點(diǎn)xj(j>i)上的值yi存在的誤差都小于等于δ,則稱該方法是穩(wěn)定的。
穩(wěn)定性不僅跟算法相關(guān),也跟步長(zhǎng)的大小相關(guān),同時(shí)也跟方程中的函數(shù)f(x,y)相關(guān),為了簡(jiǎn)便分析過(guò)程,構(gòu)建一個(gè)模型方程,利用解模型方程的穩(wěn)定性來(lái)確定方法的穩(wěn)定性。
設(shè)模型方程為
y′=λy
(1)
其中λ為復(fù)數(shù)。同時(shí)為保證微分方程本身的穩(wěn)定性,我們假設(shè)Re(λ)<0。對(duì)方程y進(jìn)行局部線性化變換,例如在區(qū)間(a,b)上,方程可以改寫(xiě)為
(2)
省略高階項(xiàng),再次進(jìn)行變換,就可得到(1)式。
Euler法的公式為yn+1=yn+hf(xn,yn),h是步長(zhǎng),我們現(xiàn)在通過(guò)模型方程來(lái)考慮Euler法的穩(wěn)定性。我們有
(3)
合并之后有
yn+1=yn+hλyn
(4)
εn+1=(1+hλ)εn
(5)
要保證方程是穩(wěn)定的,就要求誤差是不增長(zhǎng)的,即
(6)
整理得-2 后退Euler法,其計(jì)算公式為yn+1=yn+hf(xn+1,yn+1)(7),將模型方程帶入公式,我們有 (8) Runge-Kutta法有很多不同形式的計(jì)算公式,我們?cè)谶@取最常用的四級(jí)四階Runge-Kutta公式,它的計(jì)算公式為 (11) 將模型方程帶入(11)中,我們有 可得,Runge-Kutta公式的穩(wěn)定區(qū)域?yàn)?-2.785,0) 計(jì)算方法表達(dá)式穩(wěn)定區(qū)間Euler法1+hλ(-2,0)后退Euler法11-hλ(-∞,0)梯形法1+hλ21-hλ2(-∞,0)四級(jí)四階Runge-Kutta法1+hλ+(hλ)22+(hλ)36+(hλ)424(-2.785,0) 由對(duì)比我們可以清楚的看到,四種常見(jiàn)的微分方程求解方法當(dāng)中,后退Euler法和梯形法的穩(wěn)定性較好,并且隱式方法比顯示方法在穩(wěn)定性方面要好。 Euler法、后退Euler法、梯形法以及四級(jí)四階Runge-Kutta法都是微分方程的最常見(jiàn)的求解方法,四種方法的收斂性、穩(wěn)定區(qū)間不同,因此在求解方程時(shí),可以依據(jù)不同的方程結(jié)構(gòu)選擇合適的求解方法。4 后退Euler法的穩(wěn)定性分析
5 梯形法的穩(wěn)定性分析
6 Runge-Kutta法的穩(wěn)定性分析
7 四種方法的穩(wěn)定性對(duì)照
8 總結(jié)