Routh-Hurwitz Stability Calculator
Build the full Routh array for any-order polynomial, determine stability, and count right-half-plane poles from the characteristic equation
Enter characteristic polynomial coefficients from highest to lowest power. Example: "1 2 3 4 5" → s⁴ + 2s³ + 3s² + 4s + 5
| Row | col 1 | col 2 | col 3 |
|---|---|---|---|
| s^4 | 1 | 3 | 5 |
| s^3 | 2 | 4 | 0 |
| s^2 | 1 | 5 | 0 |
| s^1 | -6 | 0 | 0 |
| s^0 | 5 | 0 | 0 |
First column sign changes = number of RHP poles. Green = positive, Red = negative, Yellow = zero or ε (special case).
How to Use This Calculator
Enter your input values
Fill in all required input fields for the Routh-Hurwitz Stability Calculator. Follow the units and input format printed next to each field. Where a unit selector is available, choose the units that match your data.
Review your inputs
Double-check that all values are correct and match the units or format shown for each field. Incorrect units are the most common source of calculation errors and can produce results that are off by factors of 2, 10, or more.
Read the results
The Routh-Hurwitz Stability Calculator computes the output in your browser and displays the results, with units clearly labeled, as soon as they are ready — no data sent to a server.
Explore parameter sensitivity
Try adjusting individual input values to see how the output changes. This is a quick and effective way to develop intuition about how different parameters influence the result and to identify which inputs have the largest effect.
When to Use This Calculator
- •Use the Routh-Hurwitz Stability Calculator to check your hand calculations on homework or exam problems — comparing its result with your own working helps identify arithmetic errors before they propagate.
- •Use it during the early design phase to rapidly iterate on parameters and narrow down feasible configurations before committing time to detailed finite element simulations or full design packages.
- •Use it when reviewing a colleague's calculation or checking a vendor's data sheet for plausibility — a quick sanity check can prevent costly downstream errors.
- •Use it to generate reference data for a technical report or presentation without manual computation, ensuring consistent, reproducible numbers throughout the document.
- •Use it in the field when a quick estimate is needed and a full engineering software package is not available.
About This Calculator
The Routh-Hurwitz Stability Calculator is a precision engineering calculation tool designed for students, engineers, and technical professionals. Build the full Routh array for any-order polynomial, determine stability, and count right-half-plane poles from the characteristic equation All calculations are performed using established engineering formulas from the relevant scientific literature and standards. Follow the units printed beside each field. Where a unit selector is provided, the selected unit is converted internally. Results are computed in your browser without sending data to a server, which keeps your inputs private. This calculator is intended as a supplementary tool for learning and design exploration; always verify results against authoritative references for safety-critical applications.
The Theory Behind It
The Routh-Hurwitz stability criterion determines whether all roots of a polynomial have negative real parts (corresponding to a stable system) without explicitly computing them. For a polynomial P(s) = a_n·s^n + a_{n-1}·s^(n-1) + ... + a_0, the method builds an array (Routh array) with the polynomial coefficients. The number of sign changes in the first column equals the number of roots with positive real parts (unstable roots). If the first column has no sign changes, no root lies in the right half plane; the system is stable unless a row of zeros or a zero constant term a₀ reveals roots on the jω axis, which make it marginally stable if each is simple and unstable if one repeats. The first two rows of the array come from the polynomial coefficients; subsequent rows are computed using specific formulas involving determinants. Special cases include: (1) a row of zeros indicates roots symmetric about the origin (such as a pair ±jω on the imaginary axis), requiring an auxiliary polynomial substitution; (2) a first-column zero with non-zero other entries requires a small ε substitution or the modified method. The Routh-Hurwitz criterion is useful for checking stability without factoring the characteristic polynomial and for determining stability boundaries as functions of system parameters (gain K, controller settings, etc.). For high-order systems, the determinant computations are tedious but straightforward. The calculator builds the full Routh array and identifies the number of right-half-plane poles, providing a clear stability conclusion.
Real-World Applications
- •Closed-loop stability verification: check whether a feedback control system is stable for a given controller gain without explicit pole calculation.
- •Stability range determination: find the range of controller gains that maintain closed-loop stability, often expressed as a limit on proportional gain.
- •Higher-order polynomial analysis: for polynomials of degree > 4 where root finding is numerically difficult, Routh-Hurwitz provides stability information analytically.
- •Characteristic polynomial examination: verify that a system's characteristic polynomial has all left-half-plane roots.
- •Educational tool: Routh-Hurwitz is taught in introductory control courses as a fundamental stability analysis technique.
Frequently Asked Questions
What is the Routh-Hurwitz criterion?
A mathematical test that determines whether all roots of a polynomial have negative real parts (stable) without explicitly solving the polynomial. The method builds a two-column 'Routh array' from the polynomial coefficients and checks for sign changes in the first column. No sign changes = no roots in the right half plane (stable, unless a row of zeros shows roots on the jω axis); each sign change = one root in the right half plane.
How do I build a Routh array?
For P(s) = a_n·s^n + a_(n-1)·s^(n-1) + ... + a_0: first row is a_n, a_(n-2), a_(n-4), ...; second row is a_(n-1), a_(n-3), a_(n-5), .... Subsequent rows are computed using the formula b_i = (a_(n-1)·a_(n-2i) − a_n·a_(n-2i-1))/a_(n-1). Continue until a row corresponds to the constant term. The calculator does this automatically.
What if a first-column element is zero?
Special handling is needed. Method 1: replace the zero with a small positive number ε and continue, then take the limit as ε → 0 to determine signs. Method 2: reverse the polynomial (substitute s → 1/s) and apply Routh-Hurwitz to the reversed polynomial. Method 3: use the modified Routh array that handles first-column zeros explicitly. This calculator shows the ε row for a small finite ε; whenever a row needs ε or the auxiliary polynomial, it takes the verdict and the right-half-plane count from the polynomial's roots, because a finite ε in floating point can give the wrong signs.
Can I use Routh-Hurwitz to find stability range for K?
Yes. Include the variable gain K in the characteristic polynomial, build the Routh array with K as a symbolic parameter, then find the range of K for which all first-column elements are positive. This gives the stability range algebraically. For higher-order systems or multiple parameters, the symbolic analysis becomes tedious and numerical tools are preferred.
Routh-Hurwitz vs numerical root finding?
Numerical root finding (e.g., MATLAB's roots function) gives exact pole locations and works for any polynomial. Routh-Hurwitz only tells you stability (yes/no) but works analytically and is faster for large polynomials. For modern design work with computers, root finding is preferred; for hand analysis and educational use, Routh-Hurwitz is simpler.
Related Calculators
Transfer Function Calculator
Analyze transfer functions: compute poles, zeros, DC gain, system order, system type, and stability from numerator/denominator coefficients
Bode Plot Generator
Generate interactive Bode plots (magnitude and phase) from transfer function coefficients with gain margin, phase margin, and crossover frequencies
Root Locus Plotter
Plot how closed-loop poles move as gain K varies; interactive K slider shows closed-loop poles, open-loop poles, and zeros
Step Response Calculator
Compute and plot unit step response for 1st and 2nd order systems with rise time, settling time, overshoot, and peak time metrics
PID Controller Tuner
Automatic PID tuning using Ziegler-Nichols (open-loop and closed-loop) and Cohen-Coon methods with step response comparison chart
Nyquist Stability Calculator
Compute gain margin (dB), phase margin (degrees), gain crossover frequency, and phase crossover frequency from open-loop transfer function
References & Further Reading
Add the live Routh-Hurwitz Stability Calculator to your site. Free to embed, with a link back to MegaCalc.