CapacitorPro
Q

利用 Modified Nodal Analysis(MNA)解含電感的電路:系統化建立矩陣方程

A

Modified Nodal Analysis(MNA)是現代電路仿真軟體(SPICE、PSpice)的核心算法。對於含電感的電路,手工建立 MNA 矩陣方程可以幫助理解仿真工具的內部運作,同時也是通過筆試或面試的必備技能。

MNA 的基本步驟

步驟一:對每個節點(除了接地節點)寫 KCL 方程

步驟二:對無法用節點電壓描述的支路(如電壓源、電感),引入輔助電流變數

步驟三:用這些輔助變數建立額外方程

一個含電感電路的完整範例

電路:電壓源 V1 連接電阻 R1(1Ω)再連接電感 L1(1H)到地節點(0)。求節點電壓 v_node1。

Step 1:標示節點與未知量

  • 未知節點電壓:v₁(節點 1)
  • R1 連接 V1 與 v₁,L1 連接 v₁ 與 GND

Step 2:對節點 1 寫 KCL

(v₁ – V1)/R1 + (v₁ / R_inductor) + (1/L1) × ∫v₁ dt = 0

對電感來說,v_L = L × di/dt,所以 i_L = (1/L) × ∫v_L dt,寫成微分形式就是 di_L/dt = v_L / L。

但在 MNA 矩陣建立時,電感引入額外變數 i_L,附加方程是:v₁ – 0 = L × di_L/dt。

Step 3:建立矩陣形式

[ G      -G       1    ] [v1]   [ G×V1 ]
[ -G     G        0    ] [v2] = [  0   ]
[ 1      0        0    ] [iL]   [  0   ]

其中 G = 1/R1。這個矩陣方程可以輸入 MATLAB 或 Python(NumPy)求解。

電感的狀態空間表示

從 MNA 方程推導狀態空間模型:

dx/dt = A·x + B·u
y = C·x + D·u

對電感來說,狀態變數 x = i_L,輸入 u = V1。狀態方程為:

di_L/dt = -(R1/L) × i_L + (1/L) × V1

用 Python + NumPy 求解

import numpy as np
A = np.array([[-1.0]])  # -R1/L
B = np.array([[1.0]])   # 1/L
# 稳态電流(t->inf): i_L = V1/R1 = 1A
print('稳态電流:', 1.0/1.0, 'A')
相關分類:電感
利用 Modified Nodal Analysis(MNA)解含電感的電路:系統化建立矩陣方程|CapacitorPro