Control engineering · Zacher/Reuter, Regelungstechnik für Ingenieure, 17. Aufl. 2024, Abschn. 6.1

Hurwitz criterion: stability from the coefficients of the characteristic equation

Enter the coefficients of the characteristic equation aₙsⁿ + … + a₁s + a₀ = 0, let the calculator build the Hurwitz matrix and all principal minors and read whether the loop is stable, oscillates at the stability limit or is unstable.

G(s)Zacher/Reuter 2024
01

Characteristic equation

Build coefficients from plant and controller

1 + G_R(s)·G_S(s) = 0 is brought over a common denominator (Zacher/Reuter eq. 6.5). Times in seconds, no dead time.

02

Hurwitz check

800·s^3 + 120·s^2 + 24·s + 5 = 0

Verdict
unstable – condition a or b violated
Condition aCondition a: all coefficients present and of equal sign.
satisfied
D1Leading principal minor of order 1 of the Hurwitz matrix (eq. 6.16).
24
D2Leading principal minor of order 2 of the Hurwitz matrix (eq. 6.16).
-1,120
D3Leading principal minor of order 3 of the Hurwitz matrix (eq. 6.16).
-896,000

Hurwitz matrix (eq. 6.16)

248000
51200
024800

Roots for cross-checking

  • s = -0.1783 1/s
  • s = 0.0142 − j0.1867 1/s
  • s = 0.0142 + j0.1867 1/s

Root positions in the s-plane

Green shading: left half plane (stable). Roots right of or exactly on the imaginary axis confirm the verdict.

-0.2-0.10-0.2-0.100.10.2σ = Re s [1/s]jω [1/s]× open-loop poleszerosclosed-loop poles (current K)
Method

What is calculated?

The characteristic equation is the denominator polynomial of the reference transfer function set to zero, i.e. 1 + G₀(s) = 0 over a common denominator (Zacher/Reuter eq. 6.8 and 6.21). A loop is stable when all its roots have negative real parts. Hurwitz showed that the roots need not be known: necessary is that all coefficients are present and share the same sign (condition a); sufficient is that all leading principal minors of the Hurwitz matrix are positive (condition b, eq. 6.16). For n = 3 this reduces to a₁a₂ − a₀a₃ > 0 (eq. 6.17), for n = 4 to a₁a₂a₃ − a₀a₃² − a₁²a₄ > 0 (eq. 6.19). If the last determinant is exactly zero, a pole pair lies on the imaginary axis: the loop oscillates permanently with ω = √(a₀/a₂) (n = 3) – the stability limit needed for the Ziegler–Nichols rules. As a cross-check the calculator also computes the roots numerically.

Equations

aₙsⁿ + aₙ₋₁sⁿ⁻¹ + … + a₁s + a₀ = 0 (Gl. 6.8)

a) alle aᵢ vorhanden und gleichen Vorzeichens

b) D₁ = a₁ > 0, D₂ = a₁a₂ − a₀a₃ > 0, …, Dₙ > 0 (Gl. 6.16)

n = 3: a₁a₂ − a₀a₃ > 0 (Gl. 6.17); n = 4: a₁a₂a₃ − a₀a₃² − a₁²a₄ > 0 (Gl. 6.19)

Stabilitätsgrenze: Dₙ₋₁ = 0, Dauerschwingung mit ω² = a₀/a₂ (n = 3)

Limits

Assumptions and typical mistakes

Only for rational transfer functions; dead time makes the characteristic equation transcendental (Zacher/Reuter sec. 6.2) – use Nyquist then. The criterion only says stable/unstable, nothing about performance: a loop just inside the limit is stable but poorly damped.

Using the coefficients of the open instead of the closed loop. Mixing time units (T₁ in s, T₂² in min²). Overlooking a single negative coefficient – then the determinant check is unnecessary, the loop is already unstable.

Inputs

What you enter – and where the values come from

Coefficients a₀ … aₙ
Numerical values of the denominator polynomial of G_w(s) in ascending powers, in consistent time units (e.g. a₃ in s³, a₂ in s², a₁ in s, a₀ dimensionless). They result from bringing 1 + G_R(s)·G_S(s) = 0 over a common denominator; Zacher/Reuter shows this in eq. 6.5 for a PID controller and a plant of order m. The 'take from loop' button builds them from plant and controller.
Degree n
Highest power of s. The calculator supports n = 1 to 10; leading zeros are removed.
Results

What each value means

Condition a: coefficients
Satisfied when no coefficient is missing (= 0) and all share the same sign. A missing coefficient (e.g. two integrators in series, Zacher/Reuter sec. 4.3.2.2) already implies marginal stability or instability.
Hurwitz matrix and determinants D₁ … Dₙ
Matrix per eq. 6.16 (first row a₁, a₃, a₅ …, second row a₀, a₂, a₄ …, then shifted column-wise) and the leading principal minors. All must be > 0; the last one is always aₙ·Dₙ₋₁, so Dₙ₋₁ decides in practice.
Verdict
stable / stability limit / unstable. At the limit the angular frequency of the sustained oscillation is given from the roots on the imaginary axis.
Roots (check)
Numerically determined roots of the characteristic equation. They confirm the verdict and show which pole pair is closest to the limit.
Example

Worked example from the literature

Zacher/Reuter Beispiel 6.1: PT2 plant K_S = 0.5, T₁ = 30 s, T₂² = 200 s² with a PI controller K_PR = 10, Tn = 4 s. Characteristic equation: 800 s³·s³ + 120 s²·s² + 24 s·s + 5 = 0. All coefficients are positive, but a₁a₂ − a₀a₃ = 2880 − 4000 = −1120 s³ < 0 – unstable. The stability limit lies at Tn = 5.55 s where the loop oscillates with ω = 0.173 s⁻¹. Alternatively a D term with Tv = 2.33 s reaches the limit.

Context

What this calculator is for

Quick stability proof without root finding, deriving parameter limits (up to which K or Tn the loop stays stable), checking exercises and exam calculations, pre-computing the stability limit before commissioning (Dubbel sec. 5.3).

How to proceed

  1. Set up the characteristic equation: bring 1 + G_R·G_S = 0 over one denominator and sort by powers of s.
  2. Enter the coefficients a₀ … aₙ (or take them from the loop form).
  3. Check condition a and the determinants; at D = 0 read the oscillation frequency.
  4. For limit values of single parameters (Tn, Tv, K) solve D = 0 for the parameter as in Beispiel 6.1.
Source

Technical basis

Zacher/Reuter, Regelungstechnik für Ingenieure, 17th ed. 2024: sec. 6.1 Hurwitz stability criterion (eq. 6.1–6.21), Beispiel 6.1, Aufgabe 6.1. Heinrich, Grundlagen Regelungstechnik, 6th ed., sec. 7.2. Dubbel, ch. X, sec. 5.3.

The sources support the equations and worked examples; the reference examples are recomputed in the calculator's automated tests. The calculator does not replace a simulation with the complete nonlinear plant model.

Last updated: 2026-09-20

FAQ

Frequently asked questions

Is condition a sufficient on its own?

No. For n ≤ 2 yes (Zacher/Reuter sec. 6.1); from n = 3 all coefficients can be positive while the loop is unstable – exactly the case in Beispiel 6.1.

What is the difference to Routh?

The Routh array is a tabular form of the same statement; both give identical verdicts. Zacher/Reuter uses the Hurwitz determinants, so the calculator follows that presentation.

How do I get the coefficients from plant and controller?

Multiply 1 + G_R(s)·G_S(s) by the denominators of both elements and sort by s (Zacher/Reuter eq. 6.5). The calculator does this for PTn plants and PID controllers when you use the loop form.