Home
Explore Uedu
Student Console
Register as Member/Login
(2) In future presentations of the research findings, in addition to the course project website and public presentations, your real name and personal information will not appear in this research report. If you are interested in the research results, we can provide you with an executive summary after the study is completed.
問卷中心
Teacher Console
Course Setup
Support & Messages
Uptime Data

UeduGPTs

--

Jupyters

0

Local AI

--

CISOSE26 本地 AI UG26
政治大學 AQI 19 29°C

AI Reply Desktop Notifications

Show a desktop notification when the AI TA finishes replying

Chat Message Notifications

Notify me when classmates post messages in the forum

Sound notification

Play an alert sound whenever there is a new notification

直流電路分析

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

節點電壓法、網目電流法、超節點與受控源——理解 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 共讀助教正在陪你讀:系統化電路分析:從湊方程式到矩陣求解
嗨!我是這篇文章的共讀助教,只根據〈系統化電路分析:從湊方程式到矩陣求解〉的內容回答。可以問我「解釋某段」「舉個例子」「出題考我」,或反白文中段落後點下方「解釋選取段落」。