📘 真實世界的系統往往不是線性的 ── 條件、慣性、摩擦、飽和、角度… 等因素常常讓系統的微分方程變成:
👉 非線性函數
ẋ = f(x, t, u)不像線性系統那樣可用矩陣 + 特徵值取得完整解析解,而且非線性 通常沒有封閉式解可寫出來或求解。這時候,工程師最有用的不是精確解,而是 直覺 + 定性分析方法。
🧠 一、為什麼非線性系統難求解析解?
在一般的線性系統中:
d x⃗/d t = A·x⃗
只要我們找到 A 的特徵值與特徵向量,就能得到:
👉 定量解 x⃗(t) = ∑ C·e^{λt} v⃗
但在非線性系統:
ẋ = f(x)
其中 f(x) 不是線性的矩陣乘以向量,而可能包含像 x²、sin x、x·y 等混合項:
👉 無法用單一矩陣對角化
👉 不能簡單寫出解析式
👉 甚至可能沒有初等函數形式解
因此工程上最常用的,不是求解析解,而是透過 定性 / 幾何方法 來理解動態行為。
🔍 二、什麼是「定性分析」?
定性分析的核心是:
👉 不要求 x(t) 的精確數值
👉 只關注系統 趨勢、穩定性、吸引域、相位軌跡 等性質
常見工具包含:
✔ 平面相圖(Phase Plane)
✔ 平衡點與穩定性分類
✔ 近似線性化判斷
✔ 李雅普諾夫穩定性條件
這些都是工程師分析非線性系統常用的直覺方法。
🧭 三、平衡點與穩定性
一個非線性系統:
ẋ = f(x)
的 平衡點(Equilibrium Point) 定義為:
👉 f(x_e) = 0
也就是這一點系統不再變化。
接著我們關心:
1. 當系統靠近平衡點時是否收斂?
2. 它附近的行為是穩定還是不穩定?
這些可以透過 局部線性化 的方式來定性判斷:
👉 在 x ≈ x_e 附近,把 f(x) 用雅可比矩陣近似成線性形式
⇒ J_f(x_e)·(x − x_e)
進而用線性系統的特徵值直覺(是否衰減、震盪等)進行局部穩定性判斷。
🌀 四、相位面與軌跡觀察
在 2D 系統:
ẋ₁ = f₁(x₁, x₂)
ẋ₂ = f₂(x₁, x₂)
可以畫出 相位圖(Phase Plane):在每一個 (x₁, x₂) 點畫出向量場:
👉 小箭頭指出此處的狀態如何變化
透過相位圖:
✔ 能看到系統是否走向某些點
✔ 能看到軌跡是否繞圈(震盪)
✔ 能看到是否存在極限環(Limit Cycle)
這種圖形化直覺是工程師分析非線性系統的重要工具。
🧠 五、局部線性化:先抓局部直覺
即使整個系統是非線性的,只要我們關心某個平衡點附近的動態,就可以把 f(x) 用泰勒展開在該點線性近似:
ẋ ≈ J_f(x_e)·(x − x_e)
這一段線性近似行為可以用線性系統的特徵值分析來推論:
✔ 近似穩定
✔ 近似震盪
✔ 近似收斂速率
但要注意:
👉 這種直覺只對於「小鄰域」有效,是局部性判斷而不是全局解。
📡 六、典型非線性系統例子
🔹 節能單擺(Pendulum without small-angle approximation)
θ̈ + (g/l)·sin θ = 0
這個系統:
✔ 沒有閉式解析解
✔ 不同於小角近似的線性 θ̈ + (g/l) θ = 0
✔ 真正的行為只能靠相位圖與能量直覺去分析
你可以畫出相位圖:
👉 一些軌跡繞著穩定中心
👉 有些能量足夠時繞行 360°
👉 顯示不同初始條件導致不同長期行為
這種多種行為的複雜性,是非線性系統最典型的特色。
📘 七、工程直覺總結
🔹 1) 非線性系統「沒有待求的封閉式解」
在大多數情況下:
👉 我們不求解析解
👉 而是分析趨勢與穩定性
因為:
👉 非線性系統即使能寫出解,也通常複雜難解甚至無封閉式標準形式。
🔹 2) 平衡點比解式更重要
工程師關心的往往是:
✔ 系統是否趨向某個平衡點
✔ 在該點是否穩定/不穩定
✔ 是否存在震盪模式或極限循環
這些重點常用 相位圖、李雅普諾夫方法、線性化 等工具進行定性分析。
🔹 3) 「局部線性化」是高效分析捷徑
雖然系統在全球(整個範圍)非線性,但在平衡點附近:
👉 系統可以局部視為線性
👉 可用矩陣特徵值等直覺工具預測行為
📝 進階練習題|非線性系統(不求解析解)
考慮非線性系統:
ẋ₁ = x₂
ẋ₂ = −x₁ − 0.2x₂ + 0.5x₁²
(1) 求平衡點(Equilibrium points)
答案解析:
平衡點定義為:
ẋ₁ = 0 且 ẋ₂ = 0
由 ẋ₁ = x₂ = 0
所以平衡點必須滿足:
x₂ = 0
再代入第二式:
ẋ₂ = −x₁ − 0.2(0) + 0.5x₁² = 0
化簡:
−x₁ + 0.5x₁² = 0
提取 x₁:
x₁(−1 + 0.5x₁) = 0
因此:
x₁ = 0 或 −1 + 0.5x₁ = 0 → x₁ = 2
所以平衡點為兩個:
E₁ = (x₁, x₂) = (0, 0)
E₂ = (x₁, x₂) = (2, 0)
(2) 在平衡點附近線性化,寫出雅可比矩陣 J(x)
答案解析:
令:
f₁(x₁, x₂) = x₂
f₂(x₁, x₂) = −x₁ − 0.2x₂ + 0.5x₁²
雅可比矩陣定義:
J(x) =
[ ∂f₁/∂x₁ ∂f₁/∂x₂
∂f₂/∂x₁ ∂f₂/∂x₂ ]
逐項計算:
∂f₁/∂x₁ = 0
∂f₁/∂x₂ = 1
∂f₂/∂x₁ = ∂(−x₁ − 0.2x₂ + 0.5x₁²)/∂x₁
= −1 + x₁
∂f₂/∂x₂ = ∂(−x₁ − 0.2x₂ + 0.5x₁²)/∂x₂
= −0.2
因此:
J(x₁, x₂) =
[ 0 1 (−1 + x₁) −0.2 ]
(3) 用局部線性化判斷各平衡點的局部穩定性
答案解析:
局部線性化觀念:
在平衡點附近,系統近似為:
δẋ⃗ ≈ J(x_e) δx⃗
因此只要看 J(x_e) 的特徵值,就能判斷「該平衡點附近」的動態性格。
① 在 E₁ = (0, 0)
代入 x₁ = 0:
J(E₁) =
[ 0 1 -1 −0.2 ]
求特徵值:
| J − λI | = 0
| -λ 1
-1 −0.2−λ | = 0
行列式:
(−λ)(−0.2−λ) − (1)(−1) = 0
λ(0.2+λ) + 1 = 0
λ² + 0.2λ + 1 = 0
判別式:
Δ = 0.2² − 4·1·1 = 0.04 − 4 = −3.96 < 0
所以特徵值為一對共軛複數,且實部:
Re(λ) = −0.2/2 = −0.1 < 0
👉 結論:E₁ 為 穩定螺旋(衰減震盪)
工程語言:靠近 (0,0) 的狀態會震盪,但振幅會逐漸變小並收斂回平衡點。
② 在 E₂ = (2, 0)
代入 x₁ = 2:
J(E₂) =
[ 0 1
1 −0.2 ]
求特徵值:
| -λ 1
1 −0.2−λ | = 0
行列式:
(−λ)(−0.2−λ) − (1)(1) = 0
λ(0.2+λ) − 1 = 0
λ² + 0.2λ − 1 = 0
此方程有一正一負實根(因為常數項為 −1 < 0)
更直覺判斷:
λ₁·λ₂ = −1 < 0 → 一正一負
👉 結論:E₂ 為 鞍點(不穩定)
工程語言:靠近 (2,0) 的狀態,沿某個方向會被吸回來,但沿另一個方向會被推出去,因此整體不穩定。
✅ 最終結論整理(本題重點)
· 平衡點: (0,0)、(2,0)
· (0,0):穩定螺旋(衰減震盪)
· (2,0):鞍點(不穩定)
🎯 這題真正練到的「非線性直覺」
1. 先找平衡點 f(x)=0
2. 用雅可比矩陣做局部線性化
3. 用特徵值讀出局部性格(收斂/發散/震盪)













