反向歐拉法

數值分析科學計算中,反向歐拉法隱式歐拉法是求解常微分方程最基本的數值方法之一。其類似於(標準)歐拉法,不過是一種隱式方法。反向歐拉法的時間誤差為一階。

描述

考慮常微分方程

 

有初值 此處函數 與初值數據  均未知;函數 取決於實變量 ,同樣未知。數值方法產生一個序列 ,使 近似於 ,其中 稱為步長。

反向歐拉法計算近似值的方法是

  [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. ^ 1.0 1.1 1.2 1.3 1.4 Butcher 2003
  2. ^ Wai-Kai Chen, Ed., Analog and VLSI Circuits The Circuits and Filters Handbook, 3rd ed. Chicago, USA: CRC Press, 2009.

參考文獻