Case Study 2 — The Charging Capacitor: Partial Fractions Behind Every Circuit

Field: Electrical engineering and control theory Calculus used: Partial fraction decomposition (§16.5), the integral $\int \frac{dx}{x-r} = \ln|x-r|$ that powers it, and a glimpse of the Laplace transform The punchline: the exponential charging curve every engineer memorizes is produced by a single partial-fraction split — the §16.5 cover-up trick, wearing an engineer's hat.


A familiar curve, an unfamiliar origin

Plug a phone into a charger and the battery voltage climbs quickly at first, then crawls toward full — an upside-down decay, flattening as it approaches its target. Flip a light switch on a circuit with any capacitance and the voltage across the capacitor does the same thing: a smooth rise that asymptotes. Every electrical engineering student learns the formula for that curve, $$v_{\text{out}}(t) = V_0\left(1 - e^{-t/\tau}\right),$$ usually as something to be memorized. What almost no one is shown is where it comes from. The answer is the partial-fraction decomposition you learned in §16.5. This case study derives the charging curve from scratch and shows that the decisive algebraic move is the very cover-up trick of Worked Example 16.5.1.

The circuit and its differential equation

Take the simplest possible circuit: a resistor $R$ in series with a capacitor $C$, driven by an input voltage $v_{\text{in}}(t)$, with the output $v_{\text{out}}(t)$ read across the capacitor. Kirchhoff's voltage law plus the capacitor relation $i = C\,\frac{dv_{\text{out}}}{dt}$ give a first-order linear differential equation: $$RC\,\frac{dv_{\text{out}}}{dt} + v_{\text{out}} = v_{\text{in}}(t).$$ The product $\tau = RC$ has units of seconds and is the circuit's time constant — the single number that controls how fast it responds.

We could solve this directly with the integrating-factor method of Chapter 19. Instead we use the route every controls and signals course actually takes, because it generalizes to circuits with dozens of components: the Laplace transform. The Laplace transform $\mathcal{L}$ trades a function of time $f(t)$ for a function of a complex frequency $F(s)$, and its defining superpower is that differentiation in time becomes multiplication by $s$: $$\mathcal{L}\!\left\{\frac{df}{dt}\right\} = sF(s) - f(0).$$ That single fact turns a differential equation into an algebraic equation — and the price of admission, paid at the end, is a partial-fraction decomposition.

Transforming the equation into algebra

Apply $\mathcal{L}$ to both sides, assuming the capacitor starts uncharged so $v_{\text{out}}(0) = 0$: $$RC\,\big(s\,V_{\text{out}}(s)\big) + V_{\text{out}}(s) = V_{\text{in}}(s).$$ Solve algebraically for the output — no calculus, just dividing: $$V_{\text{out}}(s) = \frac{V_{\text{in}}(s)}{RC\,s + 1} = \frac{V_{\text{in}}(s)}{\tau s + 1}.$$ Now specify the input. The classic test is a step input: at $t = 0$ we suddenly apply a constant voltage $V_0$ and hold it. Its transform is $V_{\text{in}}(s) = V_0/s$, so $$V_{\text{out}}(s) = \frac{V_0}{s(\tau s + 1)}.$$ This is a rational function in $s$ — a ratio of polynomials. We are exactly in the world of §16.5, with $s$ playing the role of $x$. To get back to the time domain we must split this fraction into pieces simple enough to recognize in a transform table.

Partial fractions — the cover-up trick, again

Set up the decomposition over the two linear factors $s$ and $\tau s + 1$: $$\frac{V_0}{s(\tau s + 1)} = \frac{A}{s} + \frac{B}{\tau s + 1}.$$ Clear denominators: $$V_0 = A(\tau s + 1) + B s.$$ Use the cover-up method — substitute the root that annihilates one term, precisely as in Worked Example 16.5.1:

  • $s = 0$: the $Bs$ term vanishes, leaving $V_0 = A(1)$, so $A = V_0$.
  • $s = -1/\tau$: the $A(\tau s + 1)$ term vanishes, leaving $V_0 = B(-1/\tau)$, so $B = -V_0\tau$.

Therefore $$V_{\text{out}}(s) = \frac{V_0}{s} - \frac{V_0\tau}{\tau s + 1}.$$ One cosmetic step makes the second term recognizable: factor $\tau$ out of its denominator, $\dfrac{V_0\tau}{\tau s + 1} = \dfrac{V_0\tau}{\tau\,(s + 1/\tau)} = \dfrac{V_0}{s + 1/\tau}$. So $$V_{\text{out}}(s) = \frac{V_0}{s} - \frac{V_0}{s + 1/\tau}.$$

This is the entire mathematical content of the charging curve. Everything after it is reading a table.

Reading the answer off a transform table

Two standard inverse transforms finish the job: $$\mathcal{L}^{-1}\!\left\{\frac{1}{s}\right\} = 1, \qquad \mathcal{L}^{-1}\!\left\{\frac{1}{s + a}\right\} = e^{-at}.$$ Applying them term by term to $V_{\text{out}}(s)$ (with $a = 1/\tau$): $$v_{\text{out}}(t) = V_0\cdot 1 - V_0\,e^{-t/\tau} = V_0\left(1 - e^{-t/\tau}\right).$$ There it is — the exponential charging curve, derived rather than memorized. At $t = 0$ the voltage is $0$ (the capacitor is empty); as $t \to \infty$ it approaches $V_0$ (fully charged); and at $t = \tau$ it has reached $V_0(1 - e^{-1}) \approx 0.632\,V_0$, the famous "63% in one time constant" rule of thumb. The decisive step — the only step that required this chapter — was the partial-fraction split. Without §16.5 there is no way back from the frequency domain to time.

# Derive the RC step response symbolically: partial fractions + inverse Laplace.
import sympy as sp

s, t = sp.symbols('s t', positive=True)
V0, tau = sp.symbols('V0 tau', positive=True)

V_out_s = V0 / (s * (tau*s + 1))          # frequency-domain output

print("partial fractions:", sp.apart(V_out_s, s))
# -> V0/s - V0*tau/(s*tau + 1)   (exactly our A/s + B/(tau s + 1))

v_out_t = sp.inverse_laplace_transform(V_out_s, s, t)
print("step response:", sp.simplify(v_out_t))
# -> V0 - V0*exp(-t/tau)   ==  V0*(1 - exp(-t/tau))

Why engineers care which factors appear

The real power of the partial-fraction view is diagnostic. The roots of the denominator of $V_{\text{out}}(s)$ are called the system's poles, and each pole becomes one term in the decomposition — hence one piece of the time-domain behavior:

  • A pole at $s = 0$ gives the constant term ($\mathcal{L}^{-1}\{1/s\} = 1$): the steady-state value the circuit settles to.
  • A real negative pole at $s = -1/\tau$ gives a decaying exponential $e^{-t/\tau}$: stable, settling behavior.
  • A pole with a positive real part would give a growing exponential $e^{+|a|t}$ — a circuit whose output runs away to infinity. That is an unstable system, and you can read its instability straight off the partial-fraction expansion, before you ever build it.

For a richer circuit — say a second-order RLC filter — the denominator is a cubic or quartic in $s$, and an irreducible quadratic factor appears (Worked Example 16.5.3). Its $\frac{Bs + C}{s^2 + \dots}$ term inverse-transforms not to a pure exponential but to a damped oscillation, $e^{-\zeta\omega_0 t}\sin(\omega_d t + \phi)$ — the ringing you see when a bell is struck or an underdamped controller overshoots its target. The linear-numerator-over-irreducible-quadratic rule from §16.5 is exactly the algebra that separates "settles smoothly" from "rings as it settles." Partial fractions is not a parlor trick here; it is the structural map of how the circuit behaves.

Connections

  • §16.5 (partial fractions): the cover-up method of Worked Example 16.5.1 and the irreducible-quadratic case of Worked Example 16.5.3 are the entire engine of the inverse Laplace step.
  • §16.2–16.3 (trigonometric integrals): the damped oscillation from an irreducible quadratic factor is built from $\sin$ and $\cos$ — the functions whose integrals §16.2 taught.
  • Chapter 19 (differential equations): the same RC equation is solved there by separation of variables and integrating factors; this case study is the Laplace alternative.
  • Chapter 17 (improper integrals): the Laplace transform itself is defined by the improper integral $\int_0^\infty f(t)e^{-st}\,dt$ — a forward link to the next chapter.

Discussion Questions

  1. Why does the Laplace transform turn a differential equation into an algebraic one? Identify the exact property of $\mathcal{L}$ that makes this happen, and explain why that is what forces a partial-fraction step at the end.

  2. In the decomposition $V_{\text{out}}(s) = \frac{A}{s} + \frac{B}{\tau s + 1}$, the term $A/s$ produced the steady-state value $V_0$. Why does a pole at the origin always correspond to the constant the system settles to?

  3. Suppose a faulty design gave a partial-fraction term $\frac{1}{s - 2}$ (a pole with positive real part). Inverse-transform it. Why is the resulting time-domain behavior catastrophic for a physical circuit?

  4. For an underdamped second-order filter, the denominator has an irreducible quadratic factor. Explain, using §16.5, why this forces a $Bs + C$ numerator and why that numerator is what produces oscillation rather than pure decay.

  5. A twentieth-order system has a degree-20 denominator. Hand decomposition is hopeless. What do engineers actually use? (Software: MATLAB's residue, Python's scipy.signal.residue — automated partial-fraction expansion. The math is identical; only the bookkeeping is mechanized.)

Your Turn — Mini-Project

Build the step response of a second-order RLC circuit from partial fractions:

  1. Choose $R, L, C$ so the system is underdamped (e.g. $R = 1\,\Omega$, $L = 1\,\text{H}$, $C = 1\,\text{F}$ gives damping ratio $\zeta = \tfrac12$).
  2. Form the transfer function $H(s) = \dfrac{\omega_0^2}{s^2 + 2\zeta\omega_0 s + \omega_0^2}$ and the step output $V_{\text{out}}(s) = H(s)/s$.
  3. Partial-fraction decompose with sympy.apart and confirm an irreducible quadratic term appears.
  4. Inverse-transform with sympy.inverse_laplace_transform and simplify.
  5. Plot $v_{\text{out}}(t)$ and identify the overshoot and the ringing frequency. Relate both back to the poles you found.
import sympy as sp
s, t = sp.symbols('s t', positive=True)

R, L, C = 1, 1, 1
omega0 = 1/sp.sqrt(L*C)
zeta   = (R/2)*sp.sqrt(C/L)

H = omega0**2 / (s**2 + 2*zeta*omega0*s + omega0**2)
V_step = H / s

print("partial fractions:", sp.apart(V_step, s))
v_t = sp.inverse_laplace_transform(V_step, s, t)
print("step response:", sp.simplify(v_t))

Further Reading

  • Stewart, J. (2020). Calculus: Early Transcendentals (9th ed.). Cengage. §7.4 (partial fractions) is the technique this case study runs on.
  • Nise, N. S. (2019). Control Systems Engineering (8th ed.). Wiley. The standard text; partial fractions and Laplace transforms appear in nearly every chapter.
  • Oppenheim, A. V., Willsky, A. S., and Nawab, S. H. (1997). Signals and Systems (2nd ed.). Prentice Hall. The classic signal-processing reference; extends partial fractions to the discrete-time $z$-transform.
  • Boyce, W. E., and DiPrima, R. C. (2017). Elementary Differential Equations (11th ed.). Wiley. Its Laplace-transform chapter uses partial fractions throughout — a bridge to Chapter 19.