- Nyquist Stability Criterion Definition: The Nyquist stability criterion is defined as a graphical technique used in control engineering to determine the stability of a dynamical system.
- Application of Nyquist Criterion: It applies to open-loop systems and can handle transfer functions with singularities, unlike Bode plots.
- Criterion Formula: The Nyquist criterion is expressed as Z = N + P, helping to identify system stability.
- Examples of Nyquist Criterion: Different open-loop transfer functions demonstrate stable, unstable, and marginally stable systems using Nyquist plots.
- Matlab Examples: Matlab code helps plot Nyquist diagrams to analyze the stability of various systems.
What is Nyquist Stability Criterion?
The Nyquist stability criterion is a frequency-domain method in control engineering for determining closed-loop stability from the Nyquist plot of open-loop control systems. For a unity negative-feedback loop with loop transfer function L(s)=G(s)H(s), the plot shows how L(s) maps the Nyquist contour around the critical point -1+j0.
The method can treat loop transfer functions with delays as well as rational functions. It also accounts explicitly for open-loop right-half-plane poles. Bode plots still describe frequency response, but ordinary gain and phase margins alone do not determine closed-loop stability when the open loop is unstable.

Using the sign convention in this article, clockwise encirclements are positive and counterclockwise encirclements are negative. The criterion is:
Z = N + P
Where:
- Z = number of zeros of 1+G(s)H(s) in the right half of the s-plane, which equals the number of unstable closed-loop poles
- N = net number of clockwise encirclements of the critical point -1+j0 by the complete Nyquist plot
- P = number of poles of the open-loop transfer function G(s)H(s) in the right half of the s-plane
The relation counts unstable closed-loop poles. Closed-loop stability requires Z=0, provided there are no poles on the imaginary axis and the Nyquist contour is formed correctly around any boundary singularities.
The following examples use unity negative feedback and the same clockwise-positive convention.
Nyquist Stability Criterion Examples
Nyquist Criterion Example 1
Consider the open-loop transfer function
It has one right-half-plane pole at +2, so the open loop is unstable. That fact alone does not determine the stability of the unity-feedback closed loop.
The closed-loop characteristic equation is 1+G(s)H(s)=0. The closed loop is asymptotically stable only when all its poles lie in the open left half-plane. Nyquist determines how many roots lie in the right half-plane without solving the characteristic polynomial directly.
Here P=1. Apply Z=N+P after counting the net encirclements of -1+j0.
For closed-loop stability, Z must equal zero because no characteristic root may lie in the right half-plane.
With the selected sign convention, stability therefore requires N=–P.
The complete Nyquist plot for this loop is shown below.

Nyquist Plot Matlab Code
s = tf('s')
G1 = 120 / ((s-2)*(s+6)*(s+8))
nyquist(G1, 'red')
The plot encircles the critical point –1+j0 once counterclockwise. Therefore N=–1. Since P=1, Z=N+P=0 and the unity-feedback closed loop is stable.
Direct calculation gives characteristic roots near –10.282 and –0.859±j1.263, confirming Z=0. Nyquist remains useful because it connects measured or modelled frequency response to stability and robustness, including loops with delay or open-loop unstable poles.
Nyquist Criterion Example 2
Now use the same pole locations with a lower loop gain: ![]()
The corresponding Nyquist plot is:

Nyquist Plot Matlab Code
s = tf('s')
G2 = 100 / ((s-2)*(s+6)*(s+8))
nyquist(G2, 'red')
The plot makes one counterclockwise encirclement of -1+j0, so N=–1.
The open-loop transfer function again has one right-half-plane pole, so P=1.
Thus N=–P and Z=0. The unity-feedback closed loop is stable.
The characteristic roots are approximately –10.049, –1.719 and – 0.232, which confirms the result.
Nyquist Criterion Example 3
Reduce the gain further: ![]()
The open-loop right-half-plane pole count remains P=1.
The corresponding Nyquist plot is:

Nyquist Plot Matlab Code
s = tf('s')
G3 = 50 / ((s-2)*(s+6)*(s+8))
nyquist(G3, 'red')
The plot does not encircle -1+j0, so N=0. Then Z=N+P=1 and the closed loop is unstable. Its characteristic roots are approximately –9.327, –3.929 and +1.255; the positive root is the one right-half-plane pole.
This example shows that the criterion counts instability as well as confirming stability.
Nyquist Criterion Example 4
Now consider the boundary gain ![]()
Its Nyquist plot passes through the critical point -1+j0. The usual encirclement test is singular at that frequency, and the closed loop is on the stability boundary.
Here the characteristic roots are -12 and ±j4.472. The simple imaginary-axis pair produces sustained oscillation in the ideal linear model, so the system is marginally stable rather than asymptotically stable.
The four examples share a denominator and vary only the gain. Write the family as ![]()
Applying the Routh-Hurwitz criterion to 1+G(s)H(s)=0 gives the strict asymptotic-stability range 96<K<336. At K=96 a pole is at the origin, and at K=336 a conjugate pair lies on the imaginary axis.
Accordingly, examples 1–4 cover stable, unstable and boundary cases.
The root locus shows the same pole movement as K changes:

Nyquist Plot Matlab Code
s = tf('s')
G4 = 1 / ((s-2)*(s+6)*(s+8))
rlocus(G4)
The three branches start at the open-loop poles +2, -6 and -8 when K=0. For K<96, one closed-loop pole remains in the right half-plane. At K=96, one pole is at the origin. The system is asymptotically stable for 96<K<336. At K=335, the complex pair has a small negative real part and the remaining real pole is negative.
At K=337, the complex pair has a small positive real part, so the closed loop is unstable even though the third pole is negative. The root locus gives another view of these crossings.
Gain and phase margins need careful interpretation in this example.
Gain margin (GM) and phase margin (PM) measure distance from selected crossover conditions. Their signs do not provide a universal stability test. Multiple crossovers, open-loop right-half-plane poles and other loop features must be included. Use the full Nyquist test or a tool that reports all stability margins.
Every gain example above has one open-loop pole at +2. Nyquist includes that pole count explicitly, which is why it can distinguish the stable and unstable closed loops here.
The next two examples use two open-loop right-half-plane poles.
Nyquist Criterion Example 5
Consider ![]()
Its complete Nyquist plot is:

Nyquist Plot Matlab Code
s = tf('s')
G5 = ((s+1)*(s+2)) / ((s-3)*(s-4))
nyquist(G5, 'red')
The loop transfer function has poles at +3 and +4, so P=2.
The plot has no net encirclement of -1+j0, so N=0.
Therefore Z=N+P=2. The closed loop has two right-half-plane poles and is unstable.
Nyquist Criterion Example 6
Now increase the loop gain: ![]()
Its complete Nyquist plot is:

Nyquist Plot Matlab Code
s = tf('s')
G6 = (10*(s+1)*(s+2)) / ((s-3)*(s-4))
nyquist(G6, 'red')
The open-loop pole locations are unchanged, so P=2.
The plot makes two net counterclockwise encirclements of -1+j0, so N=–2.
Thus Z=N+P=0 and the closed loop is stable. Direct calculation gives poles near -1.045±j1.348. The critical point is -1+j0. If counterclockwise encirclements are defined as positive, the equivalent formula is Z=P-N. Any statement below that shows 1+j0 is missing the minus sign.
Please note that we have used the formula Z=N+P, where N=number of encirclement of critical point 1+j0 in a clockwise direction. In a few books, you may find the formula Z=N+P, where N=number of encirclement of critical point 1+j0 in a counter-clockwise direction. Both are correct.





