Physics
Pole and zero calculator
Enter the coefficients of the numerator and denominator of H(s): you get the poles and zeros with their multiplicity, the map in the complex plane, and the stability verdict, read off the sign of the poles' real parts.
What poles and zeros tell you
A transfer function H(s) = K·N(s)/D(s) describes a linear system in the Laplace domain. The zeros are the roots of the numerator, where the response vanishes; the poles are the roots of the denominator, where it runs to infinity. Poles matter more than zeros because each one is a mode of the system in its own right: a real pole at −a gives a transient decaying as e^(−at), a complex conjugate pair gives a damped oscillation.
Stability comes from one thing only: the sign of the poles' real parts. If they all lie left of the imaginary axis every mode dies away and the system is stable; if even one lies to the right, that mode grows exponentially and swamps everything else. A pole exactly on the axis is the boundary case — it neither diverges nor settles, and it is what makes an integrator an integrator and a purely imaginary pair an oscillator.
Zeros do not decide stability, but they change the shape of the response. A zero in the right half-plane makes the system non-minimum phase: the step response starts in the opposite direction to where it ends up before turning round, which is what the level in a steam drum and the pitch of an aircraft both do. It is a hard limit on achievable closed-loop bandwidth, and it is visible on the map before any simulation is run.
Common mistakes
- Reading stability from the magnitude of the poles rather than their real part. A pole at +5 and one at −5 have the same magnitude and opposite meanings: what counts is which side of the imaginary axis they are on.
- Cancelling an unstable pole with a zero. On paper the factor disappears; in the system it does not. The cancellation is never exact, and the unstable mode remains — merely hidden from the input-output transfer function.
- Forgetting the pole at the origin when the denominator has no constant term. There is then no DC gain to speak of: H(0) is infinite, and the system tracks a constant reference with no steady-state error precisely because it integrates.
Frequently asked questions
How do you find the poles of a transfer function?
Set the denominator to zero and solve. For a first- or second-degree denominator the usual formulas do; beyond that a numerical method is needed. This calculator finds all the roots at once with the Durand–Kerner method, so no root inherits the error of the ones found before it.
When is a system stable?
When every pole has a strictly negative real part, that is, lies in the left half-plane. One pole to the right makes the system unstable, and a pole on the imaginary axis leaves it on the boundary: neither converging nor diverging.
What is the difference between a pole and a zero?
A pole is a root of the denominator and corresponds to a mode of the system, so it decides stability and how fast the transient decays. A zero is a root of the numerator and creates no mode: it changes how strongly each mode is excited, and can reshape the response completely without touching its stability.
What is a non-minimum-phase system?
One with at least one zero in the right half-plane. It stays stable if its poles are, but the step response first moves the wrong way before correcting, and in closed loop that sets a limit on bandwidth that no controller can design around.
Why do complex poles always come in pairs?
Because the denominator's coefficients are real. If a + bj is a root of a polynomial with real coefficients, so is its conjugate a − bj. The pair is a single oscillatory mode: the real part gives the damping, the imaginary part the frequency.
How this calculation works
H(s) = K·N(s)/D(s). The zeros are the roots of N(s), the poles those of D(s). Stability: the system is asymptotically stable exactly when Re(pᵢ) < 0 for every pole; marginal when some pole has Re = 0 and none has Re > 0; unstable when some pole has Re > 0. DC gain: H(0) = K·N(0)/D(0), undefined when D(0) = 0, that is, with poles at the origin. Relative degree: degree of D less degree of N; it gives the final slope of the Bode plot, −20·(relative degree) dB per decade. A complex pair −σ ± jω_d has natural frequency ω_n = √(σ² + ω_d²) and damping ζ = σ/ω_n. The roots are found by the Durand–Kerner method, which refines every estimate together against the original polynomial rather than finding one and deflating; each cluster of coincident estimates is then polished with Newton's method adjusted for a repeated root, z ← z − m·p(z)/p′(z), because near a root of multiplicity m no ordinary iteration can do better than eps^(1/m).