反向歐拉法
數值分析與科學計算中,反向歐拉法或隱式歐拉法是求解常微分方程最基本的數值方法之一。其類似於(標準)歐拉法,不過是一種隱式方法。反向歐拉法的時間誤差為一階。
描述
考慮常微分方程
有初值 此處函數 與初值數據 、 均未知;函數 取決於實變量 ,同樣未知。數值方法產生一個序列 ,使 近似於 ,其中 稱為步長。
反向歐拉法計算近似值的方法是
- [1]:57
異於(正向)歐拉法,後者用的是 而非 。
反向歐拉法是一種隱式方法:新近似值 在方程兩側都出現,因此該方法要求解未知 的代數方程。對非剛性問題,這可採用定點迭代法:
若序列收斂(在給定精度內),則該方法會將其極限作為新的近似 。[1]:57
或者,也可以使用牛頓–拉斐森法求解代數方程。
推導
將微分方程 自 積分到 ,有
現在用右手矩形法近似計算右式的積分:
最後,用 應近似於 的性質,就得到了反向歐拉法公式。[1]:57
若用左手矩形法,同樣的推導會得到(標準)歐拉法。
分析
用大O符號表示反向歐拉法的局部截斷誤差(LTE)(定義為迭代一步產生的誤差)為 。特定時刻 的誤差為 ,這是說該方法的階數為1。一般來說,具有 LTE的方法定義為k階。
反向歐拉法的絕對穩域是以1為圓心,半徑為1的圓盤在平面內的補集,如圖所示。[1]:70這包括整個複平面的左半部,使其適於求解剛性方程。[1]:71事實上,反向歐拉法甚至是L-穩定的。
利用反向歐拉法求解離散穩定系統的區域是半徑為0.5的圓,位於z平面的(0.5, 0)處。[2]
推廣與改進
反向歐拉法是(前向)歐拉法的一種變體。其他變體還有半隱式歐拉法和指數歐拉法。
反向歐拉法可視為1階段的龍格-庫塔法,可用Butcher表描述:
另見
注釋
參考文獻
- Butcher, John C., Numerical Methods for Ordinary Differential Equations, New York: John Wiley & Sons, 2003, ISBN 978-0-471-96758-3.