跳到主要內容

[線性系統] 動態方程式的求解(0) - Review 1st ODE, DE, & $e^{At}$

在求解動態方程是之前,我們先回顧一下基本 一階常微分方程的求解:

Example 1
試求解
\[
\dot {x} = a x, \ x(t_0) = x_0
\]其中 $a$ 為常數。
Solution
利用變數分離法:
\[\begin{array}{*{20}{l}}
{\frac{d}{{dt}}x\left( t \right) = ax\left( t \right)}\\
{ \Rightarrow \int_{{t_0}}^t {\frac{1}{{x\left( \tau  \right)}}dx\left( \tau  \right)}  = \int_{{t_0}}^t {ad\tau } }\\
{ \Rightarrow \left. {\ln \left( {x\left( \tau  \right)} \right)} \right|_{{t_0}}^t = a\left( {t - {t_0}} \right)}\\
{ \Rightarrow \ln \left( {x\left( t \right)} \right) - \ln \left( {x\left( {{t_0}} \right)} \right) = a\left( {t - {t_0}} \right)}\\
{ \Rightarrow \ln \left( {\frac{{x\left( t \right)}}{{{x_0}}}} \right) = a\left( {t - {t_0}} \right)}\\
{ \Rightarrow x\left( t \right) = {x_0}{e^{a\left( {t - {t_0}} \right)}}}. \ \ \ \ \square
\end{array}
\]

Example 2
試求解
\[
\dot {x} = a x + bu, \ x(t_0) = x_0
\]其中 $a, b \neq 0$ 為常數。
Solution
上式為標準一階常微分方程,一般而言,微分方程的解可分為兩個部分
  1. 自由響應 (free response)又稱 零輸入響應(zero input response) ;亦即令 $u(t) = 0$ 所求得的解
  2. 外力響應 (forced response) 又稱 零狀態響應 (zero state response);亦即令 $x(t_0) = 0$所求得的解
整個解 $x(t) $  = 自由響應 + 外力響應;

故首先求解 自由響應  ,令 $u=0$,我們得到
\[
\dot {x} = a x , \ x(t_0) = x_0
\]
Example 1,我們知道對於 $\dot{x} = ax$ 的微分方程,其對應的解為 $x(t) = x_0e^{a(t-t_0)}$。

現在我們求解外力響應:令 $x(t_0) = 0$
故我們可以猜對於 $\dot {x} = a x + bu$ ,其解具有下列型態:
\[
 x(t) = e^{at} F(t) \ \ \ \ (*)
\] 其中 函數 $F(t)$ 待定。
現在將上式 待入微分方程 $\dot{x} = ax + bu$ 之中我們得到
\[\begin{array}{l}
 a{e^{at}}F(t) + {e^{at}}\dot F(t) = a{e^{at}}F(t) + bu\\
 \Rightarrow {e^{at}}\dot F(t) = bu
\end{array}\] 現在我們可求解 $F(t)$ 如下
\[\begin{array}{l}
\frac{{dF(t)}}{{dt}} = {e^{ - at}}bu\left( t \right)\\
 \Rightarrow \int_{{t_0}}^t {dF(\tau )}  = \int_{{t_0}}^t {{e^{ - a\tau }}bu\left( \tau  \right)d\tau } \\
 \Rightarrow F(t) - F\left( {{t_0}} \right) = \int_{{t_0}}^t {{e^{ - a\tau }}bu\left( \tau  \right)d\tau } \\
 \Rightarrow F(t) = \int_{{t_0}}^t {{e^{ - a\tau }}bu\left( \tau  \right)d\tau }  + F\left( {{t_0}} \right) \ \ \ \ (\star)
\end{array}
\] 注意到 $x(t_0)=0$,故由 $(*)$ 我們亦可知
\[
 x(t) = e^{at} F(t) \Rightarrow  x(t_0) = e^{at_0} F(t_0) \Rightarrow 0 = e^{at_0} F(t_0)
\]由於 $e^{a t_0} \neq 0$,故 $ F(t_0) = 0$,所以 $(\star)$ 變成:
\[
F(t) = \int_{{t_0}}^t {{e^{ - a\tau }}bu\left( \tau  \right)d\tau }
\] 又因為我們原本由 $(*)$ 定義為 $ x(t) = e^{at} F(t)$,故外力響應 為
\[
x(t) =\int_{{t_0}}^t {{e^{a\left( {t - \tau } \right)}}bu\left( \tau  \right)d\tau }
\]

現在將 自由響應 與 外力響應合併起來,即可求得整個 一階常微分方程的總解
\[ x(t) =  x_0e^{a(t-t_0)} + \int_{{t_0}}^t {{e^{a\left( {t - \tau } \right)}}bu\left( \tau  \right)d\tau }.  \ \ \ \ \square \]


Example 3
試求解 下列一階 時變(time-varying) 微分方程
\[
\dot{x} = a(t) x(t), \ x(t_0) =x_0
\]
Solution
同 Example 1,我們可將其改寫並利用變數分離法求解
\[\begin{array}{l} \frac{d}{{dt}}x\left( t \right) = a(t)x(t)\\ \Rightarrow \frac{1}{{x(t)}}dx\left( t \right) = a(t)dt\\ \Rightarrow \int_{{t_0}}^t {\frac{1}{{x(\tau )}}dx\left( \tau \right)} = \int_{{t_0}}^t {a(\tau )d\tau } \\ \Rightarrow \ln \left. {x(\tau )} \right|_{{t_0}}^t = \int_{{t_0}}^t {a(\tau )d\tau } \\ \Rightarrow \ln x(t) - \ln x({t_0}) = \int_{{t_0}}^t {a(\tau )d\tau } \\ \Rightarrow \ln \frac{{x(t)}}{{x({t_0})}} = \int_{{t_0}}^t {a(\tau )d\tau } \\ \Rightarrow x(t) = {x_0}{e^{\int_{{t_0}}^t {a(\tau )d\tau } }} \end{array}
\]

有了上述的三個例子,我們現在可以把目標轉向 矩陣形式:亦即 $n$ 維 動態方程的求解:

考慮 $n$ 維 線性 時變 動態方程 (Linear Time-varying dynamical equation)
\[
\left\{ \begin{array}{l}
{\bf{\dot x}}\left( t \right){\bf{ = A}}\left( t \right){\bf{x}}\left( t \right){\bf{ + B}}\left( t \right){\bf{u}}\left( t \right)\\
{\bf{y}}\left( t \right){\bf{ = C}}\left( t \right){\bf{x}}\left( t \right){\bf{ + D}}\left( t \right){\bf{u}}\left( t \right)
\end{array} \right.
\] 其中 $\bf{A}(\cdot), \bf{B}(\cdot), \bf{C}(\cdot),$ 與 $\bf{E}(\cdot)$ 為 $n \times n, n \times p, q \times n,$ 與 $q \times p$  在時刻 $t$ 定義在 $(-\infty, \infty)$ 的 實數 連續函數矩陣

上式的求解需要一些數學工具的幫忙,我們首先介紹特殊矩陣函數 $e^{\bf{A}(t)}$:

首先回憶指數函數 $e^{\lambda t}$ 可由 Taylor Series 無窮級數展開:
\[
e^{\lambda t} = 1 + \lambda t + \frac{\lambda^2 t}{2!} + ... + \frac{\lambda^n t^n}{n!}+...
\]同樣的若現在考慮常數矩陣 ${\bf{A}}$,由 Caley-Hamilton Theorem ,我們亦可將 ${e^{{\bf{A}}(t)}}$ 透過類似 Taylor Series 無窮級數展開將其表為:
\[
{e^{{\bf{A}}{t}}} = {\bf{I}} + t{\bf{A}} + \frac{t}{{2!}}{{\bf{A}}^2} + ... + \frac{{{t^n}}}{{n!}}{{\bf{A}}^n} + ... = \sum\limits_{k = 0}^\infty  {\frac{{{t^k}}}{{k!}}{{\bf{A}}^k}}
\]

現在先看幾個性質:
1.  $e^{\bf{0}} = \bf {I} $。
(Proof: 由上述無窮級數展開令 $\bf{A} = 0$)

2. ${e^{{\bf{A}}({t_1} + {t_2})}} = {e^{{\bf{A}}({t_1})}}{e^{{\bf{A}}({t_2})}}$
 (Proof: 由上述無窮級數展開令 $t = t_1 + t_2$ 即可得證)

3.  ${\left[ {{e^{{\bf{A}}t}}} \right]^{ - 1}} = {e^{ - {\bf{A}}t}}$
Proof:
由上述性質2,令 $t_2 = -t_1$,我們可得
\[{e^{{\bf{A}}({t_1} - {t_1})}} = {e^{{\bf{A}}({t_1})}}{e^{ - {\bf{A}}({t_1})}} = {e^{{\bf{A}} \cdot 0}} = {e^{\bf{0}}} = {\bf{I}}
\] 由反矩陣定義,可知 ${\left[ {{e^{{\bf{A}}t}}} \right]^{ - 1}} = {e^{ - {\bf{A}}t}}$。

4. $\frac{d}{{dt}}{e^{{\bf{A}}t}} = {\bf{A}}{e^{{\bf{A}}t}} = {e^{{\bf{A}}t}}{\bf{A}} $

有了上述性質之後我們便可以開始討論狀態方程求解
[線性系統] 動態方程式的求解(1) - LTI state equation

留言

這個網誌中的熱門文章

[數學分析] 什麼是若且唯若 "if and only if"

數學上的 if and only if  ( 此文不討論邏輯學中的 if and only if,只討論數學上的 if and only if。) 中文翻譯叫做  若且唯若 (or 當且僅當) , 記得當初剛接觸這個詞彙的時候,我是完全不明白到底是甚麼意思,查了翻譯也是愛莫能助,畢竟有翻跟沒翻一樣,都是有看沒有懂。 在數學上如果看到 if and only if  這類的句子,其實是表示一種 雙條件句 ,通常可以直接將其視為" 定義(Definition)" 待之,今天要分享的是這樣的一個句子如何用比較直觀的方法去看他 假設我們現在有 兩個邏輯陳述句 A 與  B. 注意到,在此我們不必考慮這兩個陳述句到底是什麼,想表達什麼,或者到底是否為真(true),這些都不重要。只要知道是兩個陳述即可。 現在,考慮新的陳述:  "A if and only if B" 好了,現在主角登場,我們可以怎麼看待這個句子呢? 事實上我們可以很直覺的把這句子拆成兩部分看待,也就是 "( A if B ) and ( A only if B )" 那麼先針對第一個部分  A if B  來看, 其實這句就是說  if B then A, 更直白一點就是 "if B is true, then A is also true".  在數學上等價可以寫為 "B implies A" .  或者更常用一個箭頭符號來表示 "B $\Rightarrow$  A"  現在針對第二個部分  A only if B 此句意指  "If B is not true, then A is also not true". 所以如果已知 A is true,  那麼按照上句不難推得 B is also true 也就是說  A only if B  等價為 "If A is true then B is also true". 同樣,也可以寫作   "A implies B"   或者用箭頭表示  "A   $\Rightarrow$     B".

[數學分析] 淺談各種基本範數 (Norm)

這次要介紹的是數學上一個重要的概念: Norm: 一般翻譯成 範數 (在英語中 norm 有規範的意思,比如我們說normalization就是把某種東西/物品/事件 做 正規化,也就是加上規範使其正常化),不過個人認為其實翻譯成 範數 也是看不懂的...這邊建議把 Norm 想成長度就好 (事實上norm是長度的抽象推廣), 也許讀者會認為好端端的長度不用,為何又要發明一個 norm 來自討苦吃?? 既抽象又艱澀。 事實上想法是這樣的: 比如說現在想要比較兩個數字 $3$ , $5$ 之間的大小,則我們可以馬上知道 $ 3 < 5 $;同樣的,如果再考慮小數與無理數如 $1.8753$ 與 $\pi$,我們仍然可以比較大小 $1.8753 < \pi = 3.1415...$ 故可以發現我們有辦法對 "純量" 做明確的比大小,WHY? 因為前述例子中 $3$, $5$, $1.8753$ or $\pi$ 其各自的大小有辦法被 "measure "! 但是如果是現在考慮的是一組數字 我們如何去measure 其大小呢?? 比如說 \[x:=[1, -2, 0.1, 0 ]^T \]上式的大小該是多少? 是 $1$? $-2$? $0.1$??? 再者如果更過分一點,我們考慮一個矩陣 \[A = \left[ {\begin{array}{*{20}{c}} 1&2\\ 3&4 \end{array}} \right] \],想要知道這個矩陣的大小又該怎麼辦?? 是 $1$ ? $2$ 還是 $4$ ?..其實現階段我們說不清楚。 也正是如此,可以發現我們確實需要新的 "長度" 的定義來幫助我們如何去 measure 矩陣/向量/甚至是函數的大小。 故此,我們首先定義甚麼是Norm,(也就是把 "長度" or "大小" 的本質抽離出來) ================== Definition: Norm 考慮 $V$ 為一個向量空間(Vector space),則我們說  Norm 為一個函數 $||\cdot|| : V \rightarrow \mathbb{R}$ 且滿足下列性質