fbpx
维基百科

顯式和隱式方法

顯式方法(explicit method)和隱式方法(implicit methods)是数值分析中計算以時間為自變數的常微分方程偏微分方程的數值近似法,也是偏微分方程计算机模拟會使用的方法。顯式方法會用系統目前的狀態來計算下一個時間的狀態,隱式方法會將系統目前狀態和下一個時間的狀態以方程式的方式表示,下一個時間的狀態為未知數,求解方程式來得到下一個時間的狀態。考慮數學的型式,若是目前系統狀態,是下一個時間的狀態(是很小的時間間隔),在顯式方法下,下一個時間的狀態為

在隱式方法下,下一個時間的狀態可用以下方程來表示

需求解方程才能得到下一個時間的狀態。

隱式方法需要針對方程式求解,需要額外的計算,也比較不容易實現。顯式方法比較容易實現,但許多問題屬於刚性方程,為了要使其誤差限制在一定範圍內(和数值稳定性有關),需要非常小的。這類的問題,若要得到相同的精度,可以用隱式方法,選取較大的時間間隔,就算將隱式方法需要在每一步針對方程式(1)的求解考慮在內,隱式方法仍可以在較少的運算量下得到結果。因此,要用隱式方法或是顯式方法求解需視問題而定。隱式方法無法用在每一種微分運算子上,因此有時會用所謂的運算子分離法(operator splitting method),將微分算子改寫為兩種互補算子的結合

一個是顯式的,另一個則是隱式的。 一般的應用會讓隱式項是線性的,而顯式項可以為非線性。這種組合稱為「隱式-顯式方法」(Implicit-Explicit Method),簡稱IMEX[1][2]

用前向歐拉方法和後向歐拉方法的說明 编辑

考慮常微分方程

 

初始條件是 。考慮格點 ,0 ≤ k ≤ n,意思是,時間間隔是 ,且 。用最簡單的顯式和隱式方法將此方程式离散化,分別是「前向歐拉方法」及「後向歐拉方法」,並且比較其差異。

前向歐拉方法
 
用不同的積分法所得的結果  .

前向欧拉方法

 

可得

 

對所有 ,這是 的顯式公式。

後向歐拉方法

後向歐拉方法英语backward Euler method

 

可以得到 的隱式方程

 

比較上式和公式(3),公式(3)的 可以直接求得,而此處是方程式中的未知數,需要求解。

這是一元二次方程,有一個正和一個負根,因為其初值為正,選擇其正根,則下一步的 

 

大部份的隱式方程中,要求解的方程會比一元二次方程複雜的多,也有可能不存在解析解,因此需要用其他求根算法(例如牛顿法)來求得數值解。

克兰克-尼科尔森方法

克兰克-尼科尔森方法

 

可以求得 的隱式方程

 

這可以用求根算法(例如牛顿法)來求得 的數值解。

克兰克-尼科尔森方法可以視為是通用的IMEX(Implicit-Explicit,隱式-顯式)架構。

前向-後向歐拉方法
 
用前向歐拉方法以及前向-後向歐拉方法,在  下的結果

為了應用IMEX架構,考慮另一個微分方程:

 

可以得到

 

因此

 

針對 

相關條目 编辑

  • Courant–Friedrichs–Lewy條件英语Courant–Friedrichs–Lewy condition
  • SIMPLE算法,壓力耦合方程組的半隱式方法

來源 编辑

  1. ^ U.M. Ascher, S.J. Ruuth, R.J. Spiteri: Implicit-Explicit Runge-Kutta Methods for Time-Dependent Partial Differential Equations (页面存档备份,存于互联网档案馆, Appl Numer Math, vol. 25(2-3), 1997
  2. ^ L.Pareschi, G.Russo: Implicit-Explicit Runge-Kutta schemes for stiff systems of differential equations, Recent Trends in Numerical Analysis, Vol. 3, 269-289, 2000

顯式和隱式方法, 顯式方法, explicit, method, 和隱式方法, implicit, methods, 是数值分析中計算以時間為自變數的常微分方程和偏微分方程的數值近似法, 也是偏微分方程中计算机模拟會使用的方法, 顯式方法會用系統目前的狀態來計算下一個時間的狀態, 隱式方法會將系統目前狀態和下一個時間的狀態以方程式的方式表示, 下一個時間的狀態為未知數, 求解方程式來得到下一個時間的狀態, 考慮數學的型式, 若y, displaystyle, 是目前系統狀態, displaystyle, delta. 顯式方法 explicit method 和隱式方法 implicit methods 是数值分析中計算以時間為自變數的常微分方程和偏微分方程的數值近似法 也是偏微分方程中计算机模拟會使用的方法 顯式方法會用系統目前的狀態來計算下一個時間的狀態 隱式方法會將系統目前狀態和下一個時間的狀態以方程式的方式表示 下一個時間的狀態為未知數 求解方程式來得到下一個時間的狀態 考慮數學的型式 若Y t displaystyle Y t 是目前系統狀態 Y t D t displaystyle Y t Delta t 是下一個時間的狀態 D t displaystyle Delta t 是很小的時間間隔 在顯式方法下 下一個時間的狀態為 Y t D t F Y t displaystyle Y t Delta t F Y t 在隱式方法下 下一個時間的狀態可用以下方程來表示 G Y t Y t D t 0 1 displaystyle G Big Y t Y t Delta t Big 0 qquad 1 需求解方程才能得到下一個時間的狀態 隱式方法需要針對方程式求解 需要額外的計算 也比較不容易實現 顯式方法比較容易實現 但許多問題屬於刚性方程 為了要使其誤差限制在一定範圍內 和数值稳定性有關 需要非常小的D t displaystyle Delta t 這類的問題 若要得到相同的精度 可以用隱式方法 選取較大的時間間隔 就算將隱式方法需要在每一步針對方程式 1 的求解考慮在內 隱式方法仍可以在較少的運算量下得到結果 因此 要用隱式方法或是顯式方法求解需視問題而定 隱式方法無法用在每一種微分運算子上 因此有時會用所謂的運算子分離法 operator splitting method 將微分算子改寫為兩種互補算子的結合 Y t D t F Y t D t G Y t displaystyle Y t Delta t F Y t Delta t G Y t 一個是顯式的 另一個則是隱式的 一般的應用會讓隱式項是線性的 而顯式項可以為非線性 這種組合稱為 隱式 顯式方法 Implicit Explicit Method 簡稱IMEX 1 2 用前向歐拉方法和後向歐拉方法的說明 编辑考慮常微分方程 d y d t y 2 t 0 a 2 displaystyle frac dy dt y 2 t in 0 a quad quad 2 nbsp 初始條件是y 0 1 displaystyle y 0 1 nbsp 考慮格點t k a k n displaystyle t k a frac k n nbsp 0 k n 意思是 時間間隔是D t a n displaystyle Delta t a n nbsp 且y k y t k displaystyle y k y t k nbsp 用最簡單的顯式和隱式方法將此方程式离散化 分別是 前向歐拉方法 及 後向歐拉方法 並且比較其差異 前向歐拉方法 nbsp 用不同的積分法所得的結果y y 2 t 0 5 y 0 1 displaystyle y y 2 t in 0 5 y 0 1 nbsp D t 5 10 displaystyle Delta t 5 10 nbsp 前向欧拉方法 d y d t k y k 1 y k D t y k 2 displaystyle left frac dy dt right k approx frac y k 1 y k Delta t y k 2 nbsp 可得 y k 1 y k D t y k 2 3 displaystyle y k 1 y k Delta ty k 2 quad quad quad 3 nbsp 對所有k 0 1 n displaystyle k 0 1 dots n nbsp 這是y k 1 displaystyle y k 1 nbsp 的顯式公式 後向歐拉方法用後向歐拉方法 英语 backward Euler method y k 1 y k D t y k 1 2 displaystyle frac y k 1 y k Delta t y k 1 2 nbsp 可以得到y k 1 displaystyle y k 1 nbsp 的隱式方程 y k 1 D t y k 1 2 y k displaystyle y k 1 Delta ty k 1 2 y k nbsp 比較上式和公式 3 公式 3 的y k 1 displaystyle y k 1 nbsp 可以直接求得 而此處是方程式中的未知數 需要求解 這是一元二次方程 有一個正根和一個負根 因為其初值為正 選擇其正根 則下一步的y displaystyle y nbsp 為 y k 1 1 1 4 D t y k 2 D t 4 displaystyle y k 1 frac 1 sqrt 1 4 Delta ty k 2 Delta t quad quad 4 nbsp 大部份的隱式方程中 要求解的方程會比一元二次方程複雜的多 也有可能不存在解析解 因此需要用其他求根算法 例如牛顿法 來求得數值解 克兰克 尼科尔森方法用克兰克 尼科尔森方法 y k 1 y k D t 1 2 y k 1 2 1 2 y k 2 displaystyle frac y k 1 y k Delta t frac 1 2 y k 1 2 frac 1 2 y k 2 nbsp 可以求得y k 1 displaystyle y k 1 nbsp 的隱式方程 y k 1 1 2 D t y k 1 2 y k 1 2 D t y k 2 displaystyle y k 1 frac 1 2 Delta ty k 1 2 y k frac 1 2 Delta ty k 2 nbsp 這可以用求根算法 例如牛顿法 來求得y k 1 displaystyle y k 1 nbsp 的數值解 克兰克 尼科尔森方法可以視為是通用的IMEX Implicit Explicit 隱式 顯式 架構 前向 後向歐拉方法 nbsp 用前向歐拉方法以及前向 後向歐拉方法 在a 5 displaystyle a 5 nbsp 和n 30 displaystyle n 30 nbsp 下的結果為了應用IMEX架構 考慮另一個微分方程 d y d t y y 2 t 0 a 5 displaystyle frac dy dt y y 2 t in 0 a quad quad 5 nbsp 可以得到 d y d t k y k 1 y k 2 t 0 a displaystyle left frac dy dt right k approx y k 1 y k 2 t in 0 a nbsp 因此 y k 1 y k 1 y k D t 1 D t 6 displaystyle y k 1 frac y k 1 y k Delta t 1 Delta t quad quad 6 nbsp 針對k 0 1 n displaystyle k 0 1 dots n nbsp 相關條目 编辑Courant Friedrichs Lewy條件 英语 Courant Friedrichs Lewy condition SIMPLE算法 壓力耦合方程組的半隱式方法來源 编辑 U M Ascher S J Ruuth R J Spiteri Implicit Explicit Runge Kutta Methods for Time Dependent Partial Differential Equations 页面存档备份 存于互联网档案馆 Appl Numer Math vol 25 2 3 1997 L Pareschi G Russo Implicit Explicit Runge Kutta schemes for stiff systems of differential equations Recent Trends in Numerical Analysis Vol 3 269 289 2000 取自 https zh wikipedia org w index php title 顯式和隱式方法 amp oldid 75337382, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。