您當前的位置:首頁 > 舞蹈

前向後項差分和顯式隱式尤拉法

作者:由 你看我名字怎麼樣 發表于 舞蹈時間:2022-02-27

摘抄自網路,後面再修改格式

摘要:

本文主要介紹前向後向差分,顯式隱式尤拉法及其穩定性分析。

前向差分對應顯式方法,後向差分對應隱式方法。顯式尤拉法是比較流行的顯式方法,隱式尤拉法是比較流行的隱式方法。

顯式尤拉法條件穩定,對積分步長有要求,隱式尤拉法無條件穩定,對積分步長無要求(理論上如此,但實際使用中對積分步長仍然有要求,只是比顯式尤拉寬鬆)。

1。 前向差分與後向差分

設一元函式函式y(t)y(t)離散化為一系列的點,y0,y1,。。。,yn,yn+1,yn+2,。。。y0,y1,。。。,yn,yn+1,yn+2,。。。,其中,

y_n=f(t_n)y_n=f(t_n)

, tn=tn−1+htn=tn−1+h, 稱hh為步長。

1。1 前向差分(Forward Difference)

前向差分的定義:△yn≡yn+1−yn。△yn≡yn+1−yn。

之所以稱之為前向差分,是因為當前時刻的差分△yn△yn,是下一時刻位置yn+1yn+1(時間向前前進一步)與當前時刻位置ynyn之差。

高階前向差分

根據上式遞迴可得k階前向差分公式為:△kyn=△k−1yn+1−△k−1yn。△kyn=△k−1yn+1−△k−1yn。

例如,二階前向差分公式為:

△2yn=△2n△2yn=△n2

=△(△n)=△(△n)

=△(yn+1−yn)=△(yn+1−yn)

=△n+1−△n=△n+1−△n

=yn+2−2yn+1+yn=yn+2−2yn+1+yn

1。2 後向差分(Backward Difference)

後向差分定義:△yn≡yn−yn−1。△yn≡yn−yn−1。

由定義可以看出,當前時刻的差分,是當前時刻的位置與前一時刻的位置之差。

高階後向差分

同上,k階後向差分公式為:△kyn=△k−1yn−△k−1yn−1。△kyn=△k−1yn−△k−1yn−1。

因此,二階後向差分公式為:△2yn=yn−2yn−1+yn−2。△2yn=yn−2yn−1+yn−2。

1。3 差商和導數

差商就是差分除以步長,即,△ynh。△ynh。

在數值計算中,需要以差商代替導數,即,y′n=△ynh。yn′=△ynh。

如果使用前向差分,則為顯式方法,例如,f′n=yn+1−ynh。fn′=yn+1−ynh。

如果使用後向差分,則為隱式方法,例如,y′n=yn−yn−1h。yn′=yn−yn−1h。

2。 顯式尤拉和隱式尤拉

設有一階常微分方程dydt=f′(t,y)。dydt=f′(t,y)。很多時候我們無法求出函式yy的解析解,只能透過數值方法逼近,即,將時間離散為一系列的點t0,t1,。。。,tn,tn+1,。。。t0,t1,。。。,tn,tn+1,。。。其中,ti=ti−1+h。ti=ti−1+h。 我們要做的就是求函式yy在這些離散的時間點上的值yn=y(tn)。yn=y(tn)。

2。1 顯式尤拉(Explicit Euler)

顯式尤拉公式:yn+1=yn+hf(tn,yn)。yn+1=yn+hf(tn,yn)。

之所以稱之為顯式,是因為下一時刻的值yn+1yn+1,可根據當前時刻的值ynyn及其導數y′nyn′ 顯式地給出。

另一種角度看上面的公式:從當前時刻出發,根據當前時刻的函式值及其導數,可得到下一時刻的值。因此顯式尤拉法又稱為前向尤拉(Forward Euler)

再從另一個角度看,我們把上面的公式做一下變形可得f(tn,yn)=yn+1−ynh。f(tn,yn)=yn+1−ynh。 即,顯示尤拉就是用前向差商代替導數。

2。2 隱式尤拉(Implicit Euler)

隱式尤拉公式:yn=yn−1+hf(tn,yn)。yn=yn−1+hf(tn,yn)。

之所以稱之為隱式,是因為上式是一個隱式方程。

另一種角度看上面的公式:將上式做一下變形可得:yn−1=yn−hf(tn,yn)。yn−1=yn−hf(tn,yn)。從當前時刻出發,根據當前時刻的函式值及其導數,可得到前一時刻函式的值。因此隱式尤拉法又稱為後向尤拉(Backward Euler)

再從另一個角度看,我們把上面的公式做一下變形可得f(tn,yn)=yn−yn−1h。f(tn,yn)=yn−yn−1h。 即,顯示尤拉就是用後向差商代替導數。

2。3 例證尤拉法的穩定性

設有一階常微分方程dydt=−ay。dydt=−ay。 我們知道,這個常微分方程的解析解為y=e−at。y=e−at。 當t→∞t→∞時,y→0。y→0。 那麼分別用顯式、隱式尤拉法會得到什麼呢?

1。 顯式尤拉法條件穩定(Conditionally Stable)

根據顯式尤拉法公式,

yn+1=yn+hf(tn,yn)=yn−ahyn=(1−ah)yn=(1−ah)2yn−1=。。。=(1−ah)n+1y0。yn+1=yn+hf(tn,yn)=yn−ahyn=(1−ah)yn=(1−ah)2yn−1=。。。=(1−ah)n+1y0。

為了保證上式收斂,需要保證|(1−ah)|<1|(1−ah)|<1, 得,h<2ah<2a

即,為了保證顯式尤拉的穩定性,需要保證時間步長h<2ah<2a,即,條件穩定。

2。隱式尤拉法無條件穩定(Unconditionally Stable)

根據隱式尤拉公式,yn+1=yn+hf(tn+1,yn+1)=yn−ahyn+1。yn+1=yn+hf(tn+1,yn+1)=yn−ahyn+1。

則,yn+1=yn1+ah。yn+1=yn1+ah。

又,a>0,h>0a>0,h>0則1+ah1+ah恆大於1。即不管時間步長為多大,隱式尤拉始終穩定,即無條件穩定。

注意:實際應用中,隱式尤拉需要求解隱式方程,通常也是使用逼近的方法(例如,Newton-Raphson)求解,因此實際的隱式尤拉方法並不是無條件穩定的。

3。一般形式的穩定性分析,我目前還沒有掌握。

————————————————

版權宣告:本文為CSDN博主「吳一奇」的原創文章,遵循CC 4。0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。

原文連結:前向後項差分和顯式隱式尤拉法_wu_nan_nan的專欄-CSDN部落格_隱式尤拉法

標簽: yn  尤拉  TN  隱式  差分