Nodal analysis with dependent sources

Updated

Nodal analysis with dependent sources works almost exactly like it does with independent sources. You write a KCL equation at each node, treat each dependent source like any other source, and add one extra equation that writes its controlling voltage or current in terms of the node voltages.

The circuit below is the first worked example on this page. You can edit it, or draw your own, then solve it step by step.

Example 1: a voltage-controlled current source
Example 1: a voltage-controlled current source Solve this circuit step by step →

What is a dependent source?

A dependent (or controlled) source is a voltage or current source whose value depends on a voltage or current somewhere else in the circuit. It's drawn as a diamond. There are four kinds:

SourceIts valueUnits of the gain
Voltage-controlled voltage source (VCVS)μ vx\mu\,v_x voltsnone (V/V)
Current-controlled voltage source (CCVS)r ixr\,i_x voltsohms (V/A)
Voltage-controlled current source (VCCS)g vxg\,v_x ampssiemens (A/V)
Current-controlled current source (CCCS)β ix\beta\,i_x ampsnone (A/A)

Here vxv_x is the voltage across some component and ixi_x is the current through it. They are the controlling voltage and current, and they're the only new thing nodal analysis has to deal with.

How to do nodal analysis with dependent sources

  1. Choose a reference node and label the voltage at every other node: V1V_1, V2V_2, and so on.
  2. Write the controlling quantity in terms of node voltages. A voltage across a component between nodes aa and bb is vx=Va−Vbv_x = V_a - V_b. A current through a resistor RR from aa to bb is ix=Va−VbRi_x = \frac{V_a - V_b}{R}.
  3. For a dependent current source, include its current in the KCL equations at the two nodes it connects, just like an independent current source, using the expression from step 2.
  4. For a dependent voltage source between a node and the reference node, it simply sets that node's voltage. Between two non-reference nodes, it makes a supernode: write one KCL equation for both nodes together, and use the source as a constraint between them.
  5. Substitute and solve. Replace the controlling quantity in every equation, which leaves only node voltages as unknowns, then solve the equations (by substitution, or as a matrix).
  6. Check your answer. Work out the controlling quantity and the dependent source's value, and make sure KCL holds at a node you didn't use.

The gain of a dependent source isn't always unitless. A VCCS with a gain of 0.250.25 produces 0.25 A0.25\,\text{A} for every volt of vxv_x, so its gain is 0.25 S0.25\,\text{S}.

Example 1: a voltage-controlled current source

In the circuit at the top of the page, a 12 V12\,\text{V} source V1V1 sets node 1, resistors connect nodes 1, 2 and 3, and a dependent current source I1I1 pushes a current of 0.25 vx0.25\,v_x into node 3. The controlling voltage vxv_x is the voltage across R2R2, the 4 Ω4\,\Omega resistor from node 2 to the reference node. Find the node voltages.

Step 1: label the nodes

The bottom wire is the reference node, V0=0V_0 = 0. The voltage source fixes node 1:

V1=12 VV_1 = 12\,\text{V}

which leaves V2V_2 and V3V_3 as the unknowns.

Step 2: write the controlling voltage in terms of node voltages

R2R2 connects node 2 to the reference node, with its + end at node 2, so

vx=V2−V0=V2v_x = V_2 - V_0 = V_2

Step 3: write KCL at each unknown node

Adding up the currents leaving each node, at node 2:

V2−122+V24+V2−V34=0\frac{V_2 - 12}{2} + \frac{V_2}{4} + \frac{V_2 - V_3}{4} = 0

At node 3, the dependent source pushes 0.25 vx0.25\,v_x into the node, so it's subtracted:

V3−V24+V38−0.25 vx=0\frac{V_3 - V_2}{4} + \frac{V_3}{8} - 0.25\,v_x = 0

Step 4: substitute and solve

Replace vxv_x with V2V_2, then multiply the first equation by 4 and the second by 8:

4V2−V3=24−4V2+3V3=0\begin{aligned} 4V_2 - V_3 &= 24 \\ -4V_2 + 3V_3 &= 0 \end{aligned}

As a matrix:

[4−1−43][V2V3]=[240]\begin{bmatrix} 4 & -1 \\ -4 & 3 \end{bmatrix}\begin{bmatrix} V_2 \\ V_3 \end{bmatrix} = \begin{bmatrix} 24 \\ 0 \end{bmatrix}

Adding the two equations gives 2V3=242V_3 = 24, so

V2=9 V,V3=12 VV_2 = 9\,\text{V}, \qquad V_3 = 12\,\text{V}

Step 5: check

The controlling voltage is vx=9 Vv_x = 9\,\text{V}, so the dependent source supplies 0.25×9=2.25 A0.25 \times 9 = 2.25\,\text{A}. Out of node 3, 12−94=0.75 A\frac{12 - 9}{4} = 0.75\,\text{A} flows through R3R3 and 128=1.5 A\frac{12}{8} = 1.5\,\text{A} through R4R4, which adds up to the 2.25 A2.25\,\text{A} coming in.

Open Example 1 in Circuitsteps to see every step, including the branch currents and how the matrix is solved.

Example 2: a current-controlled voltage source between two nodes

Here a 3 A3\,\text{A} current source I1I1 feeds node 1, R1R1 (2 Ω2\,\Omega) connects node 1 to the reference node, and R2R2 (4 Ω4\,\Omega) connects node 2 to the reference node. Between nodes 1 and 2 is a dependent voltage source V1V1 of 2 ix2\,i_x volts, + at node 1, where ixi_x is the current down through R2R2.

Example 2: a current-controlled voltage source between two nodes
Example 2: a current-controlled voltage source between two nodes Solve this circuit step by step →

Step 1: spot the supernode

The dependent voltage source sits between two non-reference nodes, so you can't write KCL at node 1 or node 2 on its own: the current through the source is unknown. Instead, nodes 1 and 2 together form a supernode.

Step 2: write the controlling current in terms of node voltages

ix=V24i_x = \frac{V_2}{4}

Step 3: write the constraint and the supernode's KCL equation

The source sets the difference between the two node voltages:

V1−V2=2 ix=V22⇒V1=1.5 V2V_1 - V_2 = 2\,i_x = \frac{V_2}{2} \quad\Rightarrow\quad V_1 = 1.5\,V_2

Adding up the currents leaving the supernode, where the 3 A3\,\text{A} source's current comes in:

−3+V12+V24=0-3 + \frac{V_1}{2} + \frac{V_2}{4} = 0

Step 4: substitute and solve

−3+0.75 V2+0.25 V2=0⇒V2=3 V,V1=4.5 V-3 + 0.75\,V_2 + 0.25\,V_2 = 0 \quad\Rightarrow\quad V_2 = 3\,\text{V}, \quad V_1 = 4.5\,\text{V}

Step 5: check

The controlling current is ix=34=0.75 Ai_x = \frac{3}{4} = 0.75\,\text{A}, so the source's voltage is 2×0.75=1.5 V2 \times 0.75 = 1.5\,\text{V}, which matches V1−V2=4.5−3V_1 - V_2 = 4.5 - 3. The 2.25 A2.25\,\text{A} through R1R1 and the 0.75 A0.75\,\text{A} through R2R2 add up to the 3 A3\,\text{A} from the current source.

Open Example 2 in Circuitsteps to see it solved step by step.

Common mistakes

Nodal or mesh analysis?

Nodal analysis is usually easiest when the dependent sources are current sources, or when the controlling quantity is a voltage. Mesh analysis is usually easiest when they are voltage sources, or when the controlling quantity is a current. Either method gives the same answers. Circuitsteps can solve a circuit both ways, so you can compare: try the nodal analysis calculator or the mesh analysis calculator.

Frequently asked questions

How do you handle a dependent source in nodal analysis?

Treat it like an independent source when you write the KCL equations, then add one more equation that writes its controlling voltage or current in terms of the node voltages. Substitute that equation in and solve as usual.

What do you do with a dependent voltage source between two nodes?

Put both nodes in a supernode. Write one KCL equation for the supernode as a whole, and use the source as a constraint: the difference between the two node voltages equals the source's value, written in terms of the node voltages.

What if the controlling current flows through a voltage source?

Node voltages alone can't give the current through a voltage source, so either add that current as an extra unknown (modified nodal analysis), or use mesh analysis, where every branch current is written from the mesh currents.

Can dependent sources be used with mesh analysis too?

Yes. With mesh analysis you write the controlling quantity in terms of the mesh currents instead. Circuitsteps can solve a circuit with dependent sources using either method and shows every step.

Stuck on a circuit? Get the full step-by-step solution.Solve it now →