If you're seeing this message, it means we're having trouble loading external resources on our website.

If you're behind a web filter, please make sure that the domains *.kastatic.org and *.kasandbox.org are unblocked.

Main content

Circuit analysis overview

The general strategy of circuit analysis is to create and solve a system of independent equations. Written by Willy McAllister.
Circuit analysis, or solving a circuit, means figuring out voltages and currents in each element. Here's an overview of circuit analysis, with some context for the various tools and methods we use to analyze circuits.

The tools

The general strategy

After simplifying a circuit as much as possible, all circuit analysis methods are some version of the following strategy:
  • Create a set of independent equations based on the elements and circuit connections.
  • Solve the system of simultaneous equations for the independent variables (voltages or currents). This often involves using techniques from linear algebra.
  • Solve the remaining individual element voltages and currents.

The methods

There are three popular circuit analysis methods. All three produce the same answer.
The first method, direct application of the fundamental laws, is quick and works very well for simple circuits. It is not particularly efficient in terms of the total amount of work required, which becomes important as circuits become more complicated.
Engineers have come up with two elegant ways to organize and streamline circuit analysis: the Node Voltage Method and the Mesh Current Method. These are general-purpose step-by-step recipes to solve a circuit. Both methods attempt to minimize the number of simultaneous equations. This efficiency has a big impact as circuit complexity grows (more and more nodes and branches). The Loop Current Method is a close relative of the Mesh method, used in certain special cases, as described in that article.
As we study the methods of circuit analysis, our example circuits are made of only resistors and ideal sources. This keeps the math relatively simple, allowing us to concentrate on the strategies for solving a circuit.

A final note: decomposing problems

Circuit analysis can be an involved process for complicated circuits. An important engineering skill is learning how to break down complicated problems into simpler pieces. Decomposing problems may seem slow at first, and you may feel impatient. However, breaking up problems into smaller steps is the heart of the engineering art. The multi-step circuit analysis methods presented next are good examples of the engineering approach to problem solving.

Epilogue - computer simulation of circuits

The circuit simulation application SPICE and many similar simulation programs are available for professional and student engineers, and anyone else interested in the subject. (search term: circuit simulator) Computer simulation is often used when solving even modestly complex circuits.

If I can solve a circuit with a simulation, why do I need to learn these circuit analysis methods?

It is important to learn how to analyze circuits by hand. Knowing these techniques makes short work of simple circuits. Better yet, this knowledge deepens your insight into how a circuit works, insight you don't get if you just ask a computer for the answer. When you learn circuit analysis, you develop your ability to look at a schematic and 'see' the circuit work in your mind.
Studying circuit analysis will also help you deal with the limitations and quirks of simulation programs.

Want to join the conversation?

  • piceratops ultimate style avatar for user Eric
    Hey, pretty new here, but does the Khan Academy Electrical Engineering 'faculty' cover Thevenin and Norton equivalent circuits, or offer an explanation for how to use the SPICE/PSPICE circuit simulators? Love the stuff on here, and for some reason I find it way easier to follow than what's going on in uni right now.
    (27 votes)
    Default Khan Academy avatar avatar for user
  • leaf green style avatar for user SJNewton123
    Does anybody have any good sites that have circuit analysis practice problems?
    (10 votes)
    Default Khan Academy avatar avatar for user
  • male robot donald style avatar for user fgamal270
    I am having a problem solving circuits that include 3D shapes, like, there's a cube and you have a resistor on each side, if all resistors are equal, what is the equivalent resistance? ( in terms of the first resistance)
    (0 votes)
    Default Khan Academy avatar avatar for user
    • leaf green style avatar for user _phidot_
      yup. for a cube there is 8 nodes and 12 resistors.
      use y to delta to reduce the number of nodes. leaving only the nodes that you need (to connect to other circuit or the 2 nodes that you want to measure). :)

      Eg :

      3D cube circuit : 8 nodes and 12 resistors.

      Node1 = [ 0 , 0 , 0 ]
      Node2 = [ 0 , 0 , 1 ]
      Node3 = [ 0 , 1 , 0 ]
      Node4 = [ 0 , 1 , 1 ]
      Node5 = [ 1 , 0 , 0 ]
      Node6 = [ 1 , 0 , 1 ]
      Node7 = [ 1 , 1 , 0 ]
      Node8 = [ 1 , 1 , 1 ]

      R01 = [ Node1 - Node2 ]
      R02 = [ Node1 - Node3 ]
      R03 = [ Node1 - Node5 ]
      R04 = [ Node2 - Node6 ]
      R05 = [ Node2 - Node4 ]
      R06 = [ Node3 - Node4 ]
      R07 = [ Node3 - Node7 ]
      R08 = [ Node5 - Node6 ]
      R09 = [ Node5 - Node7 ]
      R10 = [ Node4 - Node8 ]
      R11 = [ Node6 - Node8 ]
      R12 = [ Node7 - Node8 ]

      Assume 2 final nodes is Node1 & Node8. In other words, we are looking for Rfinal. Or Rfinal = [ Node1 - Node8 ]



      [Step 1]
      Do y to delta transform on R03, R08 & R09. This will eliminate Node5, and results in Ra,Rb,Rc.
      Do y to delta transform on R02, R06 & R07. This will eliminate Node3, and results in Rd,Re,Rf.
      Do y to delta transform on R01, R04 & R05. This will eliminate Node2, and results in Rg,Rh,Ri.

      Where the new set up will have 5 nodes and 12 resistors.

      Node1 = [ 0 , 0 , 0 ]
      Node4 = [ 0 , 1 , 1 ]
      Node6 = [ 1 , 0 , 1 ]
      Node7 = [ 1 , 1 , 0 ]
      Node8 = [ 1 , 1 , 1 ]

      R10 = [ Node4 - Node8 ]
      R11 = [ Node6 - Node8 ]
      R12 = [ Node7 - Node8 ]

      Ra = [ Node1 - Node6 ] = (R3*R6 + R3*R8 + R6*R8 ) / R6
      Rb = [ Node6 - Node7 ] = (R3*R6 + R3*R8 + R6*R8 ) / R3
      Rc = [ Node7 - Node1 ] = (R3*R6 + R3*R8 + R6*R8 ) / R8

      Rd = [ Node1 - Node4 ] = (R2*R7 + R2*R6 + R7*R6 ) / R7
      Re = [ Node4 - Node7 ] = (R2*R7 + R2*R6 + R7*R6 ) / R2
      Rf = [ Node7 - Node1 ] = (R2*R7 + R2*R6 + R7*R6 ) / R6

      Rg = [ Node1 - Node6 ] = (R1*R5 + R1*R4 + R5*R4 ) / R5
      Rh = [ Node6 - Node4 ] = (R1*R5 + R1*R4 + R5*R4 ) / R1
      Ri = [ Node4 - Node1 ] = (R1*R5 + R1*R4 + R5*R4 ) / R4

      As u can see, there are some resistors that are parallel now (connectted to the same node). Rj, Rk, Rl is equavalent.

      Rc || Rf @ [ Node7 - Node1 ] > Rj = ( Rc || Rf ) = 1 / ( 1/Rc + 1/Rf )
      Ra || Rg @ [ Node1 - Node6 ] > Rk = ( Ra || Rg ) = 1 / ( 1/Ra + 1/Rg )
      Rd || Ri @ [ Node4 - Node1 ] > Rl = ( Rd || Ri ) = 1 / ( 1/Rd + 1/Ri )

      Simplifying it, we'll have 5 nodes and 9 resistors.

      Node1 = [ 0 , 0 , 0 ]
      Node4 = [ 0 , 1 , 1 ]
      Node6 = [ 1 , 0 , 1 ]
      Node7 = [ 1 , 1 , 0 ]
      Node8 = [ 1 , 1 , 1 ]

      R10 = [ Node4 - Node8 ]
      R11 = [ Node6 - Node8 ]
      R12 = [ Node7 - Node8 ]

      Rb = [ Node6 - Node7 ]
      Re = [ Node4 - Node7 ]
      Rh = [ Node6 - Node4 ]

      Rj = [ Node7 - Node1 ]
      Rk = [ Node1 - Node6 ]
      Rl = [ Node4 - Node1 ]



      [Step 2]

      Do delta to y transform on Re, Rb & Rh. This will introduce new Node9. This will results in Rm,Rn,Ro.

      Rm = [ Node4 - Node9 ] = Re*Rh / (Re + Rb + Rh )
      Rn = [ Node7 - Node9 ] = Re*Rb / (Re + Rb + Rh )
      Ro = [ Node6 - Node9 ] = Rb*Rh / (Re + Rb + Rh )

      Now 6 nodes and 9 resistors.

      Node1 = [ 0 , 0 , 0 ]
      Node4 = [ 0 , 1 , 1 ]
      Node6 = [ 1 , 0 , 1 ]
      Node7 = [ 1 , 1 , 0 ]
      Node8 = [ 1 , 1 , 1 ]
      Node9 = [0.5,0.5,0.5]

      R10 = [ Node4 - Node8 ]
      R11 = [ Node6 - Node8 ]
      R12 = [ Node7 - Node8 ]

      Rj = [ Node7 - Node1 ]
      Rk = [ Node1 - Node6 ]
      Rl = [ Node4 - Node1 ]

      Rm = [ Node4 - Node9 ]
      Rn = [ Node7 - Node9 ]
      Ro = [ Node6 - Node9 ]



      [Step 3]

      Do y to delta transform on R10, Rl & Rm. This will eliminate Node4, and results in Rp,Rq,Rr.
      Do y to delta transform on R11, Rk & Ro. This will eliminate Node6, and results in Rs,Rt,Ru.
      Do y to delta transform on R12, Rj & Rn. This will eliminate Node7, and results in Rv,Rw,Rx.

      Rp = [ Node1 - Node9 ] = (Rl*R10 + Rl*Rm + R10*Rm ) / R10
      Rq = [ Node9 - Node8 ] = (Rl*R10 + Rl*Rm + R10*Rm ) / Rl
      Rr = [ Node8 - Node1 ] = (Rl*R10 + Rl*Rm + R10*Rm ) / Rm

      Rs = [ Node1 - Node9 ] = (Rk*R11 + Rk*Ro + R11*Ro ) / R11
      Rt = [ Node9 - Node8 ] = (Rk*R11 + Rk*Ro + R11*Ro ) / Rk
      Ru = [ Node8 - Node1 ] = (Rk*R11 + Rk*Ro + R11*Ro ) / Ro

      Rv = [ Node1 - Node9 ] = (Rj*R12 + Rj*Rn + R12*Rn ) / R12
      Rw = [ Node9 - Node8 ] = (Rj*R12 + Rj*Rn + R12*Rn ) / Rj
      Rx = [ Node8 - Node1 ] = (Rj*R12 + Rj*Rn + R12*Rn ) / Rn

      Now, its 3 nodes and 9 resistors.

      Node1 = [ 0 , 0 , 0 ]
      Node8 = [ 1 , 1 , 1 ]
      Node9 = [0.5,0.5,0.5]

      Rp = [ Node1 - Node9 ]
      Rq = [ Node9 - Node8 ]
      Rr = [ Node8 - Node1 ]

      Rs = [ Node1 - Node9 ]
      Rt = [ Node9 - Node8 ]
      Ru = [ Node8 - Node1 ]

      Rv = [ Node1 - Node9 ]
      Rw = [ Node9 - Node8 ]
      Rx = [ Node8 - Node1 ]

      Simplifying the parallel resistors, we have..

      Rp || Rs || Rv @ [ Node1 - Node9 ] > Raa = ( Rp || Rs || Rv ) = 1 / ( 1/Rp + 1/Rs + 1/Rv )
      Rq || Rt || Rw @ [ Node9 - Node8 ] > Rbb = ( Rq || Rt || Rw ) = 1 / ( 1/Rq + 1/Rt + 1/Rw )
      Rr || Ru || Rx @ [ Node8 - Node1 ] > Rcc = ( Rr || Ru || Rx ) = 1 / ( 1/Rr + 1/Ru + 1/Rx )

      Now, it's 3 nodes and 3 resistors.

      Node1 = [ 0 , 0 , 0 ]
      Node8 = [ 1 , 1 , 1 ]
      Node9 = [0.5,0.5,0.5]

      Raa = [ Node1 - Node9 ]
      Rbb = [ Node9 - Node8 ]
      Rcc = [ Node8 - Node1 ]



      [Step 4]

      Since our Rfinal = [ Node1 - Node8 ]

      So,

      Rfinal = ( ( Raa + Rbb ) || Rcc ) = 1 / ( 1/( Raa + Rbb ) + 1/Rcc ) = Done!
      (15 votes)
  • leafers tree style avatar for user JakeJonez
    dosn't AutoCad have a circuit simulator??
    (2 votes)
    Default Khan Academy avatar avatar for user
  • blobby green style avatar for user Jared Allen
    How can I find the resistance of a missing resistor in a series parallel circuit?
    (2 votes)
    Default Khan Academy avatar avatar for user
  • blobby green style avatar for user Minh Võ TRần
    Where can i find the assignments ( circuit mathematics ) and practice it ?
    (1 vote)
    Default Khan Academy avatar avatar for user
    • spunky sam orange style avatar for user Willy McAllister
      Each of the articles on the different circuit analysis methods has an example circuit. If you want to construct a set of exercises, gather all those circuits and solve each one using all the different methods (Node Voltage, Mesh Current, Fundamental Laws, Superposition). If you can do that you will have a good grasp of the topic.
      (2 votes)
  • spunky sam blue style avatar for user Taberb40
    I might not be asking this in the right area, but I noticed something that kinda confuzzled me on the “Kirchhoffs Laws of Voltage” video. I was watching the first few minutes of it when I came across the equation that states that a rise in voltage will eventually drop at an equal amount. This happened at around in the video. The equation was...

    Vrise - Vdrop = 0

    What I don’t get is when he input the voltage rise and drop into the equation, he wrote the drop first and then the rise. I know that the equation is correct and I know that the answer of 0V is correct, but I’m just confused about why he set it up the way he did. Is that a standard way of writing it? Are both ways okay?
    (1 vote)
    Default Khan Academy avatar avatar for user
  • blobby green style avatar for user Khaled Ali
    could you explain thevinin method as soon as possible you can
    (1 vote)
    Default Khan Academy avatar avatar for user
  • duskpin tree style avatar for user Aymane Laghmich
    i can't find Thévenin's stuff here for some reason
    (1 vote)
    Default Khan Academy avatar avatar for user