Nodal Analysis Step by Step

Isv₁R₁R₂v₂R₃
Two-node example: KCL at nodes v₁ and v₂ gives the node-voltage equations.

What Nodal Analysis Actually Solves

Nodal analysis is the workhorse of linear circuit theory. Instead of chasing individual branch currents, it picks a single, well-organized set of unknowns — the node voltages — and forces the entire circuit to obey Kirchhoff's Current Law (KCL) at each node. Once you know every node voltage relative to a common reference, every branch current and element voltage follows immediately from Ohm's law. That economy of unknowns is exactly why simulators such as SPICE and Lcapy are built on a nodal foundation rather than a loop-based one.

The deeper reason nodal analysis scales so well is that it produces a sparse, symmetric system of equations whose structure mirrors the circuit graph. A resistor between two nodes touches only those two rows of the matrix, so a circuit with hundreds of nodes still yields a matrix that is mostly zeros. This article walks through the method one step at a time, then solves a complete numerical example containing a supernode so you can see the bookkeeping in full.

Step 1 — Identify the Essential Nodes

A node is any region of the circuit connected by perfect wire; every point on that region shares one voltage. An essential node is a node where three or more elements meet. Two elements joined in series form a trivial node that you can fold into its neighbor without losing information, because no current splits there. Counting essential nodes is the single most important habit in nodal analysis: if a circuit has NN essential nodes, you will write exactly N1N - 1 independent KCL equations. The last node's equation is linearly dependent on the others, so it is reserved as a redundancy check.

Step 2 — Choose Ground Wisely

One essential node is declared the reference and assigned 0V0\,\text{V}. Every other node voltage is then measured against it. The choice does not change the physics, but it can dramatically simplify the algebra. A strong reference node is one that:

  • connects to the largest number of elements, shrinking later equations;
  • sits at the negative terminal of a voltage source, which instantly fixes the opposite terminal's voltage and removes an unknown;
  • anchors several sources at once, minimizing supernode work.

Label the remaining unknowns V1,V2,,VN1V_1, V_2, \ldots, V_{N-1} and commit to that labeling for the rest of the problem.

Step 3 — Write KCL With the “Sum of Leaving Currents” Rule

At each non-reference node, write KCL as the sum of currents leaving the node equal to the sum of currents injected by sources. For a resistor of conductance G=1/RG = 1/R connecting the analyzed node aa to a neighbor bb, the current leaving aa is:

Iab=G(VaVb)=VaVbRI_{a \to b} = G(V_a - V_b) = \frac{V_a - V_b}{R}

Summing over every branch touching the node gives the canonical nodal form, where the diagonal term collects the self-conductance and each off-diagonal term subtracts a neighbor:

(kGk)VakGkVbk=Iinj\left(\sum_k G_k\right) V_a - \sum_k G_k V_{b_k} = I_{\text{inj}}

Doing this at every node produces the matrix system Gv=i\mathbf{G}\,\mathbf{v} = \mathbf{i}, where G\mathbf{G} is the conductance matrix, v\mathbf{v} is the vector of node voltages, and i\mathbf{i} holds the injected source currents.

Step 4 — Voltage Sources and the Supernode

A floating voltage source — one whose terminals are both non-reference nodes — breaks the plain recipe, because the current through an ideal source is unknown and cannot be written as ΔV/R\Delta V / R. The remedy is the supernode: enclose both terminals in one surface, apply KCL to everything crossing that surface (ignoring the source branch entirely), and add the source's defining constraint VaVb=VsV_a - V_b = V_s. You trade two ordinary equations for one KCL equation plus one constraint, so the count of equations still matches the count of unknowns. When a source connects to ground, no supernode is required — the node voltage is simply known.

Worked Example: Supernode With Three Resistors

Consider three essential nodes plus ground. A 10V10\,\text{V} source sits between ground and node 1, so V1=10VV_1 = 10\,\text{V}. A 2V2\,\text{V} source connects node 2 (positive) to node 3, forming a supernode. The resistors are R1=2kΩR_1 = 2\,\text{k}\Omega between nodes 1 and 2, R2=4kΩR_2 = 4\,\text{k}\Omega from node 2 to ground, and R3=1kΩR_3 = 1\,\text{k}\Omega from node 3 to ground. Working in volts, kilohms, and milliamps keeps the numbers clean.

The supernode KCL sums every current leaving nodes 2 and 3 through the resistors:

V2V1R1+V2R2+V3R3=0\frac{V_2 - V_1}{R_1} + \frac{V_2}{R_2} + \frac{V_3}{R_3} = 0

Substituting V1=10V_1 = 10 and multiplying through by 4 to clear denominators:

2(V210)+V2+4V3=0    3V2+4V3=202(V_2 - 10) + V_2 + 4V_3 = 0 \;\Rightarrow\; 3V_2 + 4V_3 = 20

The source supplies the constraint:

V2V3=2V_2 - V_3 = 2

Substituting V3=V22V_3 = V_2 - 2 into the supernode equation gives 3V2+4(V22)=203V_2 + 4(V_2 - 2) = 20, hence 7V2=287V_2 = 28. The solved node voltages are:

V1=10V,V2=4V,V3=2VV_1 = 10\,\text{V}, \quad V_2 = 4\,\text{V}, \quad V_3 = 2\,\text{V}

Branch currents follow at once from Ohm's law:

IR1=1042=3mA,IR2=44=1mA,IR3=21=2mAI_{R_1} = \frac{10 - 4}{2} = 3\,\text{mA}, \quad I_{R_2} = \frac{4}{4} = 1\,\text{mA}, \quad I_{R_3} = \frac{2}{1} = 2\,\text{mA}

The redundancy check confirms KCL across the supernode surface: 3+1+2=0-3 + 1 + 2 = 0. Current into the supernode from R1R_1 equals current out through R2R_2 and R3R_3, exactly as conservation of charge demands.

Dependent Sources Need No Extra Machinery

Controlled sources slot into nodal analysis without breaking it. A voltage-controlled current source delivering I=gm(VxVy)I = g_m(V_x - V_y) simply adds gmg_m conductance-like terms to the matrix rows for its controlling nodes, because its value is already expressed in node voltages. The only discipline required is to expand the controlling variable before solving, so that no symbol outside the node-voltage set remains. This is precisely the trick used when small-signal transistor models are stamped into a nodal matrix.

When to Reach for Nodal vs. Mesh

SituationPrefer NodalPrefer Mesh
Many current sourcesYes — they enter KCL directlyNo — needs supermeshes
Many voltage sourcesNeeds supernodesYes — they enter KVL directly
Fewer nodes than meshesYes — smaller systemNo
Non-planar topologyYes — always worksNo — meshes undefined
Automated simulationYes (via MNA)Rare

Common Mistakes

  1. Mixing current directions. Pick one convention (currents leaving the node are positive) and apply it to every term. Switching mid-equation is the most frequent sign error.
  2. Treating a floating source as a resistor. You cannot write (VaVb)/R(V_a - V_b)/R for an ideal voltage source. Form a supernode and add the constraint instead.
  3. Writing too many equations. A supernode replaces two KCL equations with one KCL plus one constraint — not two of each. Over-counting yields an inconsistent system.
  4. Forgetting a grounded source already fixes a node. If a source ties a node to ground, write V=VsV = V_s directly rather than building a needless supernode.
  5. Leaving controlling variables unexpanded. A dependent source must be rewritten in node voltages before solving, or you will have more unknowns than equations.

For a guided, drawable workflow you can open the circuit editor and watch the nodal equations build themselves as you place components.

Related Tutorials

Related Tutorials

Fundamentals

Kirchhoff's Current Law (KCL): Complete Guide

Master KCL: conservation of charge, node equations, supernodes, and a step-by-step 4-node worked example.

Fundamentals

Current Divider Equation: Derivation and Examples

Understand the current divider rule from KCL, derive multi-branch formulas, and learn when current division is most useful.

Analysis Methods

Mesh Analysis Step by Step

Master mesh analysis: define mesh currents, write KVL equations, handle current sources with supermeshes, and solve a complete example.

Back to All Tutorials