數值分析與科學計算中,反向歐拉法或隱式歐拉法是求解常微分方程最基本的數值方法之一。其類似於(標準)歐拉法,不過是一種隱式方法。反向歐拉法的時間誤差為一階。
考慮常微分方程
有初值此處函數與初值數據、均未知;函數取決於實變量,同樣未知。數值方法產生一個序列,使近似於,其中稱為步長。
反向歐拉法計算近似值的方法是
- [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表描述:
該方法也可看作是1步的線性多步法,是Adams–Moulton法族中的第一個方法,也是後向微分法的第一個方法。
- ^ 1.0 1.1 1.2 1.3 1.4 Butcher 2003
- ^ Wai-Kai Chen, Ed., Analog and VLSI Circuits The Circuits and Filters Handbook, 3rd ed. Chicago, USA: CRC Press, 2009.