為什麼這篇穩定性分析鄉民發文收入到精華區:因為在穩定性分析這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者Keelungman (李登輝你要去哪邊散步啊?)看板NTUNL標題[NOTE] 動態系統的穩定...
穩定性分析 在 4Gamers編輯部 Instagram 的精選貼文
2021-02-03 15:47:06
Google 在 2021 台北國際電玩展期間舉辦媒體聚會,分享 2020 年全球手機遊戲市場發展與台灣表現。2020 年全球手機遊戲收入達 540 億美元,相較 2019 年成長 18%,2020年,台灣在全球手遊營收排名全球第七,每位玩家產生的營收排名全球第六、每付費玩家產生的營收排名全球第三名...
0. 動態系統導論
1. 1-D 動態系統
(這些內容將改編自我在板上PO過的那四篇, 請參照)
1.1 Fixed points 與系統穩定性
1.2 Fixed points 的穩定性與 bifucation diagram
2. 2-D 動態系統
(將仿照 1-D 動態系統的架構來寫)
2.1 Fixed points, limit circle 與系統穩定性
2.2 Fixed points 與 limit circle 的穩定性以及 bifucation diagram
--
愛因斯坦的廣義相對論 不過是另一個精緻的手編藤籃罷了.
--
※ 發信站: 批踢踢實業坊(ptt.twbbs.org)
◆ From: 140.112.52.131
> -------------------------------------------------------------------------- <
作者: Keelungman (李登輝你要去哪邊散步啊?) 看板: NTUNL
標題: [稿件] 動態系統的穩定性分析 (純文字版)
時間: Sun Dec 12 19:54:49 1999
動態系統的穩定性分析
0. 前言
動態系統的定義是"系統狀態對時間的演化狀況, 完全由前一時刻的系統狀態
來決定"的系統. 通常可以從"系統狀態的變化對時間是否連續"將動態系統分成
兩大類: 一種是系統狀態的演化對時間是連續的, 它們的形式可以用像下面的
微分方程式來表達
.
X = F(X)
其中的 X 是個向量, 裡面包含著系統狀態的各項資訊; 而 F 是個向量函數.
另一種的是系統狀態的演化對時間離散, 而它們的形式可以用像下面的疊代式
來表達
X = M(X )
n+1 n
如果 F(X) 或是 M(X) 是線性的函數, 則這個動態系統就是線性的, 反之就
是非線性的. 一般來說, 我們對於線性系統已經算認識得相當地透徹了, 由於
線性系統的方程式中, 具有"所有的解可以從一些基本的解疊加出來"的性質,
所以只要能掌握所謂的"基本的解"就算是掌握了整個系統的性質, 各種的分析
法建立在這個基礎上, 讓我們對線性動態系統瞭若指掌. 相對的, 我們對於非
線性的動態系統的演化狀況卻是難窺全豹. 因為非線性系統無法像線性系統一
般, 從少數的解去構造出所有的解來, 變成在系統中每一個演化的狀況都只能
個別去討論.
但如果是討論一個非線性系統的演化狀態是否穩定, 也就是說原本的系統狀
態在受到些微干擾後, 新的系統演化軌跡究竟是又回到原本系統軌跡呢, 還是
遠離原本系統軌跡呢? 在這種情況下, 我們就可以將非線性函數 F(X) 或 M(X)
做線性近似, 以求得被干擾後的演化軌跡跟原本的軌跡之間的關係. 此時就可
以引入線性系統的架構來解釋系統的穩定性條件. 這方面的討論將成為這次前
半部的主題. 另一方面來看, 我們可以研究一些系統最簡單的演化狀況, 在系
統的外來參數變化之下如何改變自身的構造. 這種問題一般稱之為"系統結構的
穩定性". 這方面的討論將成為這次後半部的主題.
雖然到最後, 我們還是無法獲知任何一個系統狀態在任一時刻之後的演化情
形, 但是有了這類各種穩定性分析的討論, 還是讓我們多知道一點非線性動態
系統背後的秘密...
下面主要介紹的是連續性的動態系統, 然而離散性的動態系統也可以依照類
似的方法來研究
1. 一維動態系統的狀態演化
1.1 固定點(fixed point)狀態的穩定性
.
最簡單的動態系統就是一維的動態系統了, X = f(X), X 為實數. 我們可以
直接將 X 代入 f(X) 中得知 X 變化的趨勢: 如果 f(X) > 0, 因為這意味著此
時 X 對時間的變化率是正的, 所以隨著時間的增加, X 將會往正的方向跑; 相
對的, 如果 f(X) < 0, 則 X 就會往負的方向跑. 於是我們可以直接從 f(X)
的圖形中來認識這一點.
當 X 所在的位置剛好使得 f(X) = 0 的時候, 系統狀態又將會如何演化呢?
因為在這裡 X 對時間的變化率為 0, 所以我們可以預期 X 將不會起任何變化:
它將乖乖地待在那裡. 由於滿足 f(X) = 0 的 X 將會一直固定在 X 上, 所以
我們稱這樣的系統狀態 X 為"固定點".
不過在真實的世界中, 系統狀態或多或少總是會受到外來雜訊的影響, 使得
狀態本身不斷地受到細微的擾動. 如果當驅策 X 的動力 f(X) 其絕對值大小夠
顯著時, f(X) 將會蓋過這些擾動, 這時候 X 的動向將幾乎完全聽命於 f(X)
的值; 然而當 f(X) 為 0 的時候, 這些雜訊的影響力將會彰顯出來, 成為判斷
X 動向的重要依據.
我們看看在固定點附近的狀況: 如果在固定點上的 f(X) 斜率為正, 則 f(X)
在 X 大於固定點的地方是正的, 小於固定點的地方是負的. 那麼我們可以想像
一下: 如果原本是待在固定點的系統狀態若被干擾, 而往正的方向偏離一點點,
則 X 將會開始一直往正的方向跑, 遠離固定點; 相反的, 若是往負的方向偏離
一點, 則 X 將會開始一直往負的方向跑, 同樣地也會遠離固定點. 於是在這樣
的狀況下, 系統狀態無論是受到哪種方向的干擾, 都將持續遠離固定點, 無法
穩定.
如果固定點上的 f(X) 斜率為負, 則 f(X) 在大於固定點的地方是負的, 小
於固定點的地方是正的. 接著, 若原本是待在固定點的系統狀態若被干擾, 而
往正的方向偏離一些, 則 X 將會一直往負的方向跑, 直到返回固定點為止(因
為在固定點的地方 f(X) 才不會繼續驅動 X); 往負的方向偏離一些, 則 X 就
會往正的方向跑, 也是返回固定點為止. 之後若系統狀態又持續受到干擾, 則
系統狀態將不斷地回到固定點上, 如此 X 將"穩定地"在固定點附近徘徊.
於是我們可以發現: 在一維動態系統的固定點上, 如果在該處 f(X) 的斜率
大於 0, 則我們稱這種的固定點為"不穩定"的; 而 f(X) 小於 0 的時候, 則我
們稱這種固定點為"穩定的".
1.2 系統狀態演化的穩定性
討論完固定點的穩定性之後, 接著來看一般狀況下雜訊干擾對系統狀態演化
所造成的影響. 假設 X(t) 的起始狀態受到雜訊的干擾 δX 後, 變成新的演化
狀態 X'(t). 現在我們感興趣的是: 過一段短時間後, 經過干擾後的系統狀態
X'(t) 和原本的系統狀態 X(t) 到底是會靠近, 還是互相遠離(見圖 3)? 如果
δX 夠小, 則這干擾的幅度對時間的變化是:
.
δX = X' - X = f(X + δX) - f(X)
d
~ (— f(X)) δX
dX
≡ f~(δX)
就以前面所用到的分析法來看, 系統狀態被干擾的幅度 δX 在 δX = 0 的地
方剛好有一個固定點, 於是我們可以觀察 f~(δX) 在 δX = 0 處的斜率正負
來判斷 δX 在附近的穩定情形: 斜率為正會發散, 而斜率為負會穩定. 然而有
趣的是 f~(δX) 在 δX = 0 處的斜率, 剛好就是 f(X) 在原系統狀態 X 處的
斜率. 而且若在短時間內的前提下, X 的位置變化不是很大, 可以假設當時的
f(X) 的斜率是定值. 於是可以直接利用 f(X) 的斜率判斷 δX 在固定點 0 上
的穩定性. 回到定義, δX = X' - X, 如果 δX 逐漸發散, 表示 X(t) 的演化
軌跡在經過干擾之後新的軌跡 X'(t) 會遠離 X(t), 反之, δX 收斂穩定到固
定點 0, 則 X'(t) 靠近 X(t). 我們可以直接從 X 處的 f(X) 斜率知道 X(t)
和 X'(t) 是發散還是靠近.
2. 二維以上動態系統的狀態演化
若用前面所提到的方法來考慮二維以上動態系統的狀態演化, 明顯地會有個
麻煩的地方: 因為 X 和 f(X) 都變成了向量, 不再有明確的"大小""正負""斜
率值", 所以我們必須換個角度來看待這種系統下演化的狀況.
重新觀察一維動態系統的演化穩定性. 我們已經知道
. d
δX = f~(δX) = (— f(X)) δX
dX
所以 δX 的解是
d
δX = exp( (— f(X)) t )
dX
當 f(X) 對 X 的斜率為正的時候, 可以發現 δX 隨著 t 正比例的增加; 若是
負的狀況, 則 δX 隨著 t 反比例地減少, 逐步收斂到固定點 0. 這種直接解
微分方程式的方法是比較汎用的, 可以解出在多維度狀態下的情形. 下面我們
將使用這種方法.
2.1 系統狀態演化的穩定性
在多維度的狀況下, "斜率值"將不再適用, 因為 F(X) 對 X 的微分將會變成
矩陣的形式. 如果我們將多維動態系統的式子展成下面的形式:
.
X1 = F1(X1, X2, ..., Xn)
.
X2 = F2(X1, X2, ..., Xn)
:
:
.
Xn = Fn(X1, X2, ..., Xn)
如果 δX 的定義和之前的一樣, 那麼 δX 的方程式"在形式上"仍然是一樣的:
. d
δX = F~(δX) = (— F(X)) δX
dX
但是
╭ ╮
│dF1/dX1 dF1/dX2 … dF1/dXn│
d │dF2/dX1 : │
— F(X) = │ : : │
dX │ : : │
│dFn/dX1 … … dFn/dXn│
╰ ╯
雖然變成了一個矩陣, 但我們能不能如同之前的"斜率"一樣, 從中間抽出系統
狀態的訊息呢? 答案是可以的. 我們可以計算這個矩陣的"本徵值", 以及其對
應的"本徵向量", 獲知這個系統狀態在個別維度上的收斂發散情形. 事實上是
可以把這個矩陣的各本徵值當作 F(X) 在該本徵向量上頭的斜率.
接下來就先以二維的系統為例子, 介紹高維度動態系統穩定性的樣貌:
1. 本徵值都小於 0: 往中心收斂. 在這附近的系統狀態將會靠近, 如果在中間
的部分就是固定點, 那我們稱這種固定點為"吸子".
2. 本徵值都大於 0: 從中心發散開來. 在這附近的系統狀態將會彼此遠離, 如
果中間的部分就是固定點, 那麼這個固定點上的系統狀態將不會穩定在上面.
3. 本徵值一正一負: 在這附近的系統狀態將會以近乎於雙曲線的軌跡行進. 其
中 V1 所對應的本徵值為正的, V2 所對應的本徵值為負的. 如果
中間的部分就是固定點, 那麼在這固定點上的系統狀態也將不會穩定. 這種型
態的固定點我們稱之為"鞍點".
4. 本徵值為一對共軛複數: 由於我們的動態系統方程式多半是實數的方程式,
所以 F(X) 對 X 的微分所形成的矩陣是實係數的. 當我們解實係數矩陣的本徵
值時, 若出現複數的情形, 那一定是一對的共軛複數. 由於在一維的例子中並
沒有斜率值為複數的狀況, 所以在此來特別討論.
如果這對共軛複數個別為 a + bi 以及 a - bi, 而 a, b 為實數, 則 δX
的微分方程式的解就變成
δX1 = V1 exp((a + bi)t) = (V1 exp(at))(cos bt + i sin bt)
δX2 = V2 exp((a - bi)t) = (V2 exp(at))(cos bt - i sin bt)
δX1 與 δX2 經過適當的線性變換以後, 可以變成 δX1' 與 δX':
δX1' = (V1' exp(at)) cos bt
δX2' = (V2' exp(at)) sin bt
即可明顯發現這是在 V1' 和 V2' 上的一個旋轉運動, 其中 a 可決定系統狀態
是旋入還是旋出, b 可決定旋轉的轉向. 圖 8 的例子就是 a 負 b 正的情形.
這裡的系統狀態穩定與否, 由 a 的正負來決定: 當 a > 0, 則附近的系統將趨
向於發散; 相反的, 則會互相靠近. 如果中心為固定點而 a < 0, 則這個固定
點也是個吸子.
以上將二維狀況大致提過, 若是在三維以上的情形, 則只要利用前面所提的
各種類型在各維度上組合起來即可, 在此就不詳述了. 從前面這些討論可以知
道, 只要 F(X) 對 X 的微分所形成的矩陣, 其所有本徵值的實數部分都為負,
則無論從哪個維度去看, 整個系統狀態都將收斂在一起. 所以只要滿足這樣條
件的系統, 其狀態的演化將會是穩定的.
2.2 週期軌道(極限環)的穩定性
大於一維的動態系統, 往往有機會產生出週期性的運動. 觀察週期運動的穩
定性也是一個相當重要的工作. 數學與理論物理學家 Poincare 發展出一種方
法來作為週期軌道穩定性的依據.
首先在動態系統的狀態空間中選取一個子空間, 使週期軌道在上面只穿過一
到數個點, 而不會有一小段都在上面的情形. 這個子空間通常稱之為"Poincare
截面"(Poincare's section). 若選取得當, 則通過在這截面上的系統演化軌道
都會再次穿過這個截面, 當然, 也包括了週期軌道.
於是, 我們可以對截面上的各點, 沿著軌道將方程式積分, 直到再次回到截
面上頭為止. 積分的結果使得原本在整個系統狀態空間的連續性動態系統方程
式, 變成落在 Poincare 截面上的離散性動態系統方程式, 也就是在截面上的
映射. 令截面上的一點為 Y, 而映射為 M(Y), 整個新的式子為
Yn+1 = M(Yn)
顯然, 令週期軌道交在截面上的點為 Y*, 則
Y* = M(Y*)
Y* 變成在這種動態系統中的"固定點". 如果我們想知道原本整個週期軌道的穩
定性, 那只要知道 Y 在這種動態系統中的穩定性就好了.
我們仿照前面的方法來用. 若受到干擾後的狀態 Yn' 與原本的狀態 Yn 相差
δYn, 若干擾很小, 則經過一次映射之後
δYn+1 = Yn+1' - Yn+1 = M(Yn') - M(Yn)
d
~ (— M(Yn)) δYn
dY
= M δYn
n
=> δYn = M δY0
╭ ╮
│dM1/dY1 dM1/dY2 … dM1/dYm│
│dM2/dY1 : │
M = │ : : │
│ : : │
│dMm/dY1 … … dMm/dYm│
╰ ╯
若原本的動態系統空間的維度是 N, 則 m = N - 1. 同樣地我們可以從這個矩
陣 M 的本徵值與本徵向量來推測軌跡運行的趨向. 由於可以將 δYn 分解成
這個矩陣所有本徵向量的線性組合(或是再經過座標變換), 而這些本徵向量在
經過映射後只有長度上的伸縮, 改變的比例就是其對應的本徵值. 若一本徵值
λ 所對應到的本徵向量為 V, 則 V 經過 n 次映射的結果 Vn 是:
n n
Vn = M V = λ V
以圖 10 為例, 這是其中兩個本徵值都是負的為例子: 就如同連續性動態系
統的情形一般, 附近的點隨著時間的增長而逐漸靠近. 只是連續性的動態系統
會一直沿著一條線進去, 而 在這邊的映射卻是一次一次地跳在那條線上進去
的.
回到週期軌道的例子. 如果映射式 M(Y) 對 Y 的微分矩陣在週期軌道點 Y*
上, 其所有本徵值的實數部分都小於 0, 則可以確定在截面上, Y* 附近任何一
點在經過映射之後, 將一定會更靠近 Y* 點. 則通過 Y* 點的那個週期軌道可
以預期就是穩定的週期軌道. 如果有任一項是正的, 就不會是個穩定的週期軌
道了.
3. 系統結構的穩定性分析
通常動態系統的方程式中, 除了系統狀態的變數以外, 還會包含一些"係數".
這些係數在動態系統演化的時候"應該"都要是常數才對, 但往往還是有一些外
來雜訊干擾到這些係數的可能性. 由於係數的變化多半會影響到這個動態系統
的"結構", 比方說固定點的位置, 或是固定點的數量, 甚至是固定點上系統狀
態的穩定性等等. 所以這些係數在些微的變化時, 是否會對這些固定點的性質
造成重大影響? 這些範圍都是屬於"系統結構的穩定性分析". 一般稱這種係數
改變造成固定點結構改變的現象為"分支現象".
下面先將介紹一個比較簡單的例子, 並隨後列出一些常見的分支現象.
3.1 參數變化與固定點的結構: 一個簡單的例子
考慮這樣動態系統的式子:
. 2
X = μ - X
其固定點的位置 X* = ±√μ. 當 μ 小於 0 的時候, 固定點的位置是個"虛
數", 不存在於動態系統的空間中. 這可以從圖 11(a) 的部分可以看出來. 當
μ 恰為 0 的時候, 出現了一個固定點, 這個固定點上頭的斜率是 0, 不過還
是可以從圖 11(b) 上看出來: 在兩旁的系統狀態都會往負的方向跑, 所以是個
不穩定的固定點. 當 μ 大於 0 了以後會有兩個固定點, 其中 X = √μ 的點
上斜率為負的, 是穩定的固定點, 相對的 X = -√μ 上的斜率是正的, 是個不
穩定的固定點.
如果把固定點 X* 的位置對 μ 做圖, 則可以看見隨著 μ 值的不同, X* 的
位置數量與性質都不太一樣. 這種圖被成為"分支圖"(bifucation diagram).
類似這種的分支, 我們稱之為"tangent bifucation".
3.2 一些常見的分支現象
a. Transcritical bifucation
. 2
X = μX - X
b. Pitchfork bifucation
. 3
X = μX - X
--
愛因斯坦的廣義相對論 不過是另一個精緻的手編藤籃罷了.
--
※ 發信站: 批踢踢實業坊(ptt.twbbs.org)
◆ From: h21.s74.ts30.hinet.net