跳至內容

有限差分法

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書

數學中,有限差分法finite-difference methods,簡稱FDM),是一種微分方程數值方法,是通過有限差分近似導數,從而尋求微分方程的近似解。

由泰勒展開式的推導

[編輯]

首先假設要近似函數的各級導數都有良好的性質,依照泰勒定理,可以形成以下的泰勒展開式

其中n!表示是n階乘Rn(x)為餘數,表示泰勒多項式和原函數之間的差。可以推導函數f一階導數的近似值:

設定x0=a,可得:

除以h可得:

求解f'(a):

假設相當小,因此可以將"f"的一階導數近似為:

準確度及誤差

[編輯]

近似解的誤差定義為近似解及解析解之間的差值。有限差分法的兩個誤差來源分別是捨入誤差截尾誤差英語truncation error(或稱為離散化誤差),前者是因為電腦計算小數時四捨五入造成的誤差,後者則是用有限階級數表示導數引起的誤差。

有限差分法是以在格點上函數的值為準

在運用有限差分法求解一問題(或是說找到問題的近似解)時,第一步需要將問題的定義域離散化。一般會將問題的定義域用均勻的網格分割(可參考右圖)。因此有限差分法會製造一組導數的離散數值近似值。

一般會關注近似解的局部截尾誤差英語local truncation error,會用大O符號表示,局部截尾誤差是指應用有限差分法一次後產生的誤差,因此為,此時是實際值,而為近似值。泰勒多項式的餘數項有助於分析局部截尾誤差。利用泰勒多項式的餘數項,也就是

, 其中,

可以找到局部截尾誤差的主控項,例如用前項差分法計算一階導數,已知,

利用一些代數的處理,可得

注意到左邊的量是有限差分法的近似,右邊的量是待求解的量再加上一個餘數,因此餘數就是局部截尾誤差。上述範例可以用下式表示:

在此例中,局部截尾誤差和時間格點的大小成正比。

範例:常微分方程

[編輯]

例如考慮以下的常微分方程

利用數值方法中歐拉法求解,利用以下的有限差分式

來近似導數,並配合一些代數處理(等號兩側同乘以h,再加上u(x)),可得

最後的方程式即為有限差分方程,求解此方程則可得到原方程的近似解。

範例:熱傳導方程

[編輯]

考慮正規化的一維熱傳導方程式,為齊次的狄利克雷邊界條件

(邊界條件)
(初始條件)

對此問題求數值解的一種方式是用差分去近似所有的導數,可以將空間分割為,將時間也分割為。假設在時間及空間都是均勻的網格切割,空間中兩個連續位置的間隔為h,兩個連續時間之間的間隔為k。點

表示的數值近似解。

顯式方法

[編輯]
熱傳導方程最常用顯式方法的模版英語Stencil (numerical analysis)

利用在時間的前向差分,以及在位置的二階中央差分(FTCS 格式英語FTCS scheme),可以得到以下的迭代方程:

這是用求解一維導熱傳導方程的顯式方法

可以用以下的式子求解

其中

因此配合此迭代關係式,已知在時間n的數值,可以求得在時間n+1的數值。的數值可以用邊界條件代入,在此例中為0。

此顯式方法在時,為數值穩定收斂[1]。其數值誤差和時間間隔成正比,和位置間隔的平方成正比:

隱式方法

[編輯]
隱式方法的模版

若使用時間的後向差分,及位置的二階中央差分(BTCS 格式),可以得到以下的迭代方程:

這是用求解一維導熱傳導方程的隱式方法

在求解線性聯立方程後可以得到

此方法不論的大小,都數值穩定且收斂,但在計算量會較顯式方法要大,因為每前進一個時間間隔,就需要求解一個聯立的數值方程組。其數值誤差和時間間隔成正比,和位置間隔的平方成正比:

克蘭克-尼科爾森方法

[編輯]

若使用時間的中間差分,及位置的二階中央差分(CTCS 格式),可以得到以下的迭代方程:

此公式為克蘭克-尼科爾森方法(Crank–Nicolson method)。

克蘭克-尼科爾森方法的模版

在求解線性聯立方程後可以得到

此方法不論的大小,都數值穩定且收斂,但在計算量會較顯式方法要大,因為每前進一個時間間隔,就需要求解一個聯立的數值方程組。其數值誤差和時間間隔的平方成正比,和位置間隔的平方成正比:

若時間刻度較小時,克蘭克-尼科爾森方法是最精確的,而顯式方法是最不精確的,而且可能會不穩定,但是是最容易計算的,其數值計算量也最少。若時間刻度較大時,隱式方法的效果最好。

相關條目

[編輯]

參考資料

[編輯]
  1. ^ Crank, J. The Mathematics of Diffusion. 2nd Edition, Oxford, 1975, p. 143.

外部連結

[編輯]
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy