Home
探索 Uedu
學生控制台
註冊會員/登入
研究知情同意中心
教師控制台
課程設定
支援與訊息
Uptime 數據

UeduGPTs

--

Jupyters

4

UG26 CISOSE26
臺北 AQI 46 · 臺中 AQI 26 · 臺南 AQI 21 · 高雄 AQI 33

AI 回覆桌面通知

AI 助教回覆完成時顯示桌面通知

聊天訊息通知

同學在討論區發送訊息時通知

聲音通知

每當有新通知時播放提示音

直流電路分析

系統化電路分析:從湊方程式到矩陣求解

節點電壓法、網目電流法、超節點與受控源——理解 SPICE 背後的線性代數核心

當電路大到「逐條湊方程式」會崩潰時

入門篇裡,我們靠歐姆定律配合克希荷夫電壓定律(KVL)與電流定律(KCL),一條一條湊出方程式,再手動消去未知數。這套方法對三、四個節點的電路綽綽有餘。但如果今天給你一張有 8 個節點、15 個電阻、3 個電源、還夾雜受控源的電路圖,你還要「逐條湊」嗎?

更尖銳的問題是:電腦怎麼分析電路?SPICE(電路模擬器的鼻祖)每秒可以解上萬個節點,它顯然沒有在「憑感覺挑迴路」。背後的秘密是——把整張電路一次性轉成一組線性方程組,寫成矩陣,交給線性代數去解。

這篇進階文章,要帶你從「湊方程式」升級到「系統化建構矩陣」。我們會深入節點電壓法(Node-Voltage Analysis)網目電流法(Mesh-Current Analysis),處理它們遇到電源時的棘手情況(超節點、超網目),納入受控源,最後抵達 SPICE 真正在用的修正節點分析(MNA)。讀完你會發現:電路分析的本質,其實是一道優雅的矩陣方程式 $\mathbf{G}\mathbf{v}=\mathbf{i}$。

直流電路分析進階概念示意圖

節點電壓法:選定參考點,未知數只剩「電位」

入門時我們把「每條支路電流」當未知數,所以未知數很多。節點電壓法換了個視角:只把節點電位當未知數

做法分三步:

  1. 選一個節點當參考節點(接地,ground),設它電位為 $0$。
  2. 對其餘每個節點寫一條 KCL:流出該節點的電流總和為零。
  3. 每條支路電流用「兩端節點電位差除以電阻」表示,也就是 $i=(v_a-v_b)/R$。

關鍵洞見在於:對一個只接電阻與電流源的電路,第 2、3 步可以機械化成一個固定格式。對節點 $k$ 寫 KCL,會得到

$$ \left(\sum_{j} G_{kj}\right) v_k - \sum_{j \neq k} G_{kj}\, v_j = i_{k,\text{source}} $$

其中 $G_{kj}=1/R_{kj}$ 是連接節點 $k$ 與 $j$ 的電導(conductance),右邊是注入節點 $k$ 的電流源總和。把所有節點的方程式疊起來,就是著名的

$$ \mathbf{G}\,\mathbf{v} = \mathbf{i} $$

這裡 $\mathbf{G}$ 稱為電導矩陣(conductance matrix),它有兩個漂亮的規律,可以讓你「看電路直接填矩陣」,根本不用展開代數:

  • 對角元 $G_{kk}$:節點 $k$ 上所有相連電導的總和(永遠是正的)。
  • 非對角元 $G_{kj}$:節點 $k$ 與 $j$ 之間電導的負值($-1/R_{kj}$)。

只要電路只含電阻與獨立電流源,這個矩陣還會是對稱對角優勢的——這正是它在數值上極穩定、SPICE 敢拿來解上萬節點的原因。

動手算一下:用矩陣解一個雙節點電路

考慮這個電路:節點 1 與節點 2,外加參考地。

  • 節點 1 接一個 $9\ \text{mA}$ 的電流源注入。
  • 節點 1 到地之間有 $R_1=2\ \text{k}\Omega$。
  • 節點 1 到節點 2 之間有 $R_2=4\ \text{k}\Omega$。
  • 節點 2 到地之間有 $R_3=4\ \text{k}\Omega$。

先把電阻換成電導(用 mS 為單位,配合 mA 與 V,剛好自洽):

$$ G_1=\tfrac{1}{2}=0.5\ \text{mS},\quad G_2=\tfrac{1}{4}=0.25\ \text{mS},\quad G_3=\tfrac{1}{4}=0.25\ \text{mS} $$

直接「看電路填矩陣」:

$$ \begin{bmatrix} G_1+G_2 & -G_2 \\ -G_2 & G_2+G_3 \end{bmatrix} \begin{bmatrix} v_1 \\ v_2 \end{bmatrix} = \begin{bmatrix} 9 \\ 0 \end{bmatrix} $$

代入數值:

$$ \begin{bmatrix} 0.75 & -0.25 \\ -0.25 & 0.5 \end{bmatrix} \begin{bmatrix} v_1 \\ v_2 \end{bmatrix} = \begin{bmatrix} 9 \\ 0 \end{bmatrix} $$

用克拉瑪法則(Cramer's rule)。矩陣的行列式:

$$ \Delta = 0.75\times 0.5 - (-0.25)\times(-0.25) = 0.375 - 0.0625 = 0.3125 $$

$$ v_1 = \frac{\begin{vmatrix} 9 & -0.25 \\ 0 & 0.5 \end{vmatrix}}{\Delta} = \frac{4.5}{0.3125} = 14.4\ \text{V} $$

$$ v_2 = \frac{\begin{vmatrix} 0.75 & 9 \\ -0.25 & 0 \end{vmatrix}}{\Delta} = \frac{2.25}{0.3125} = 7.2\ \text{V} $$

驗算節點 2 的 KCL:流入 $v_2$ 的電流(經 $R_2$)為 $(v_1-v_2)G_2=(14.4-7.2)\times0.25=1.8\ \text{mA}$;流出(經 $R_3$ 到地)為 $v_2 G_3=7.2\times0.25=1.8\ \text{mA}$。兩者相等,平衡無誤。

整個過程沒有「挑迴路」「猜方向」的步驟——填矩陣、解矩陣,結束。這就是系統化方法的威力。

當電壓源跨在兩個節點之間:超節點

純電流源很乖,但電壓源會打亂節點電壓法,因為理想電壓源的電流是「未知的、由外部決定的」,你無法用 $v/R$ 把它寫出來。

處理方式分兩種情況:

情況一:電壓源一端接地。 那這個非接地節點的電位就被電壓源直接釘死了,例如 $v_k=12\ \text{V}$。它不再是未知數,方程式少一條,問題反而更簡單。

情況二:電壓源懸空跨在兩個非接地節點 $a$、$b$ 之間。 這時引入超節點(supernode):把這兩個節點連同中間的電壓源「圈起來」當成一個整體。

超節點給你兩條方程式:

  1. KCL(圍著整個超節點):流出超節點邊界的所有電流總和為零——電壓源內部的未知電流被圈在裡面,自動抵消了。
  2. 約束方程式(constraint):$v_a - v_b = V_s$,直接來自電壓源的定義。

這兩條合起來,恰好補回因電壓源造成的資訊。直覺上,超節點就是「既然我不知道電壓源裡流多少電流,那我乾脆把它包起來,只看邊界進出的淨電流」。

對偶地,網目電流法遇到電流源跨在兩個網目之間時,會用超網目(supermesh):把兩個網目合併繞一圈寫 KVL(避開電流源那條支路),再補一條 $i_a-i_b=I_s$ 的約束。兩種技巧是鏡像對稱的。

網目電流法:以「迴路電流」為未知數

節點電壓法的對偶,是網目電流法。它只適用於平面電路(planar circuit)——能畫在平面上不交叉的電路。未知數改成「每個網目(最小封閉迴路)裡假想繞行的迴路電流」。

對每個網目寫 KVL,會得到對稱結構:

$$ \mathbf{R}\,\mathbf{i} = \mathbf{v} $$

這裡 $\mathbf{R}$ 是電阻矩陣,填法同樣機械化:

  • 對角元 $R_{kk}$:網目 $k$ 邊界上所有電阻的總和
  • 非對角元 $R_{kj}$:網目 $k$ 與 $j$ 共用支路上電阻的負值(假設所有網目電流同向,例如都順時針)。
  • 右邊 $v_k$:網目 $k$ 內沿繞行方向的電壓源代數和。

該選節點法還是網目法?實務上看「哪個未知數少」:節點法的未知數是 $(\text{節點數}-1)$,網目法是「網目數」。電源以電流源居多、節點少時用節點法;電壓源居多、迴路少時用網目法。對非平面電路(如某些立體網格),網目法直接失效,只能用節點法。

受控源:把「依附關係」也搬進矩陣

真實電子元件——電晶體、運算放大器——的小訊號模型裡到處是受控源(dependent source),例如「輸出電流正比於某兩端電壓」的電壓控制電流源(VCCS)。它們是放大作用的數學化身。

受控源的處理原則:先照常把它當一般電源寫進方程式,再把它的控制量用節點電位(或網目電流)表示,代回去。 關鍵後果是——受控源會在 $\mathbf{G}$ 矩陣裡產生非對稱的非對角項,打破純電阻電路的對稱性。這不是錯誤,而是「能量可以被主動注入、放大」的數學印記,也是被動電路與主動電路的分水嶺。

看一個例子:含受控源的節點分析

設一個電路:節點 1 接 $6\ \text{V}$ 電壓源(一端接地,故 $v_1=6\ \text{V}$ 直接釘死)。節點 2 對地有 $R=3\ \Omega$,並有一個受控電流源從地注入節點 2,大小為 $g\,v_x$,其中控制電壓 $v_x=v_1$,跨導 $g=2\ \text{S}$。節點 1 到節點 2 之間有 $R_{12}=1\ \Omega$。

對節點 2 寫 KCL(電流流出為正):

$$ \frac{v_2-v_1}{R_{12}} + \frac{v_2}{R} - g\,v_x = 0 $$

代入 $v_1=6$、$v_x=v_1=6$、$g=2$:

$$ \frac{v_2-6}{1} + \frac{v_2}{3} - 2\times 6 = 0 $$

$$ v_2 - 6 + \frac{v_2}{3} - 12 = 0 \;\Rightarrow\; \frac{4}{3}v_2 = 18 \;\Rightarrow\; v_2 = 13.5\ \text{V} $$

注意右邊出現了 $13.5\ \text{V}$,比電源的 $6\ \text{V}$ 還高——這正是受控源「主動注入能量」的結果,被動電阻網路永遠做不到。這個小現象,本質上就是電晶體放大器能把訊號放大的原因。

重點回顧

  • 節點電壓法以節點電位為未知數,寫成 $\mathbf{G}\mathbf{v}=\mathbf{i}$。$\mathbf{G}$ 可「看電路直接填」:對角是相連電導總和,非對角是兩節點間電導的負值。
  • 網目電流法是其對偶,寫成 $\mathbf{R}\mathbf{i}=\mathbf{v}$,僅適用於平面電路;選哪個方法看「未知數哪個少」。
  • 電壓源跨兩節點用超節點(KCL 圍整圈 + 約束式 $v_a-v_b=V_s$);電流源跨兩網目用超網目,兩者鏡像對稱。
  • 受控源照常寫入後把控制量代換掉,會在矩陣留下非對稱項,標誌主動電路與被動電路的分界。
  • 純電阻+獨立源電路的 $\mathbf{G}$ 矩陣對稱、對角優勢,因此數值穩定——這是 SPICE 能可靠求解大型電路的根基。

深入探討(研究所視角)

把上面的觀察推到極致,就抵達了現代電路模擬器的核心:修正節點分析(Modified Nodal Analysis, MNA)

純節點分析有個致命缺陷:理想電壓源無法用電導表示(電導需 $1/R$,而電壓源 $R=0$),更別說電感($V=L\,di/dt$ 在 DC 穩態為短路)這類「以電流為輸出」的元件。MNA 的解法很巧妙:把這些元件的支路電流也升格為未知數,附加在節點電位向量後面。系統因而擴展成分塊矩陣:

$$ \begin{bmatrix} \mathbf{G} & \mathbf{B} \\ \mathbf{C} & \mathbf{D} \end{bmatrix} \begin{bmatrix} \mathbf{v} \\ \mathbf{j} \end{bmatrix} = \begin{bmatrix} \mathbf{i} \\ \mathbf{e} \end{bmatrix} $$

上半部仍是節點 KCL,新增的下半部 $\mathbf{C}\mathbf{v}+\mathbf{D}\mathbf{j}=\mathbf{e}$ 則編碼每個電壓源的約束(如 $v_a-v_b=V_s$)。$\mathbf{B}$、$\mathbf{C}$ 是僅含 $\{-1,0,1\}$ 的關聯矩陣(incidence matrix),描述電壓源接在哪兩個節點。這套框架的美在於完全可機械化、可程式化:SPICE 解析網表後,就是逐元件「蓋章(stamping)」填入這個大矩陣——每個電阻、電壓源、受控源都有固定的蓋章模板。

從更抽象的角度看,整個建構可用圖論(graph theory)統一表述。定義電路圖的關聯矩陣 $\mathbf{A}$,則 KCL 即 $\mathbf{A}\mathbf{i}=\mathbf{0}$、KVL 即 $\mathbf{v}=\mathbf{A}^{\mathsf{T}}\mathbf{e}$,配合支路本構關係 $\mathbf{i}=\mathbf{G}_b\mathbf{v}$,三者一消去就漂亮地導出 $\mathbf{A}\mathbf{G}_b\mathbf{A}^{\mathsf{T}}\mathbf{e}=\mathbf{i}_s$——這正是節點導納矩陣 $\mathbf{Y}_n=\mathbf{A}\mathbf{G}_b\mathbf{A}^{\mathsf{T}}$ 的來源。這個結構在電力系統分析裡叫節點導納矩陣(bus admittance matrix),是潮流計算(power flow)的起點,與你手算的小電路一脈相承。

最後值得一提的是稀疏性(sparsity)。實際電路裡每個節點只連幾個鄰居,因此 $\mathbf{G}$ 矩陣絕大多數元素是零。直接用 $O(n^3)$ 的高斯消去會浪費掉這個結構,所以模擬器採用稀疏 LU 分解搭配節點重排序(如 Markowitz、最小度演算法)來壓低填入(fill-in),把複雜度逼近線性。換句話說,你在課堂上手算的那個對稱、對角優勢的 $2\times2$ 矩陣,放大十萬倍後,就是現代 IC 設計能在晶片流片前完整模擬數百萬電晶體的數學基礎。電路分析從來不只是湊方程式——它是一門關於「如何聰明地組織並求解線性系統」的學問。

AI 共讀助教正在陪你讀:系統化電路分析:從湊方程式到矩陣求解
嗨!我是這篇文章的共讀助教,只根據〈系統化電路分析:從湊方程式到矩陣求解〉的內容回答。可以問我「解釋某段」「舉個例子」「出題考我」,或反白文中段落後點下方「解釋選取段落」。