4/03/2010

[微分方程] 積分因子法求解線性 ODE

這次要介紹的是一個重要的方法求解 基本線性微分方程(Ordinary Differential Equation, ODE)。亦即所謂的 積分因子法 (Integration Factor Method)

想法:透過構造出積分因子 (Integrating Faction) 使得我們可以透過 微分鏈鎖律(chain rule) 將 微分方程 改寫為 兩個函數的乘積取導數 的形式以方便求解。

首先考慮一個 線性ODE 具有如下形式 (如果可以湊成如下形式則即可使用 積分因子法進行求解)
\[
y'(t) + a(t) y(t) = g(t) \ \ \ \ (*)
\]解:

定義積分因子:
\[
e^{\int_0^t a(s)ds}
\] 對 $(*)$ 兩邊同乘積分因子我們得到
\[\begin{array}{l}
y'(t) \cdot {e^{\int_0^t a (s)ds}} + y(t)a(t) \cdot {e^{\int_0^t a (s)ds}} = g(t) \cdot {e^{\int_0^t a (s)ds}}\\
 \Rightarrow \frac{d}{{dt}}\left( {y(t) \cdot {e^{\int_0^t a (s)ds}}} \right) = g(t) \cdot {e^{\int_0^t a (s)ds}}
\end{array}
\]
對兩邊同取積分可得
\[\begin{array}{l}
\int_0^t {\frac{d}{{dt}}\left( {y(t) \cdot {e^{\int_0^t a (s)ds}}} \right)} ds = \int_0^t {g(t) \cdot {e^{\int_0^t a (s)ds}}} ds\\
 \Rightarrow y(t) \cdot {e^{\int_0^t a (s)ds}} - y\left( 0 \right) = \int_0^t {g(t) \cdot {e^{\int_0^t a (s)ds}}} ds\\
 \Rightarrow y(t) = y\left( 0 \right){e^{ - \int_0^t a (s)ds}} + {e^{ - \int_0^t a (s)ds}} \cdot \left( {\int_0^t {g(t) \cdot {e^{\int_0^t a (s)ds}}} ds} \right) \ \ \ \ (\star)
\end{array}\]
現在我們得到了一個解,故此需回頭確認 其確實為滿足 ODE $(*)$的解。故對其微分,由chain rule我們得到
\[\begin{array}{l}
y'(t) =  - a\left( t \right)y\left( 0 \right){e^{ - \int_0^t a (s)ds}} + \left( { - a\left( t \right)} \right){e^{ - \int_0^t a (s)ds}} \cdot \left( {\int_0^t {g(t) \cdot {e^{\int_0^t a (s)ds}}} ds} \right)\\
 \ \ \ \ \ \ \ \ \ \  + {e^{ - \int_0^t a (s)ds}} \cdot \left( {g(t) \cdot {e^{\int_0^t a (s)ds}}} \right)\\
 \Rightarrow y'(t) =  - a\left( t \right)y\left( t \right) + g(t)
\end{array}\]
故 $(\star)$確實為我們 的 線性ODE
\[
y'(t) + a(t) y(t) = g(t)
\]
的解。

此法即為積分因子法。


沒有留言:

張貼留言

[隨筆] A+焦慮的世代

接住A+世代學生 當了老師之後發現要"接住"學生確實不容易,撇開老師自身可能也有需要被接住的問題不談。我這幾年常常感受到這世代的學生們有著很大的徬徨,不太清楚未來的方向,但是卻有著非得要拿到A/A+不可的糾結,於是課優先選甜涼課,實習競賽投好投滿。好像看著同學...