NyquistPlot
✖
NyquistPlot
Details and Options




- NyquistPlot gives the complex-plane plot of the transfer function of lsys as the Nyquist contour is traversed.
- The system lsys can be TransferFunctionModel or StateSpaceModel, including descriptor and delay systems.
- For continuous-time systems, the Nyquist contour encloses the entire right half-plane and excludes poles on the imaginary axis. It is traversed in a clockwise direction.
- For discrete-time systems, the Nyquist contour is the unit circle, and it encloses poles on the unit circle. It is traversed in a counterclockwise direction.
- The arrows on the NyquistPlot show the direction the Nyquist contour is traversed.
- The Nyquist contours:
- For a system lsys with the corresponding transfer function
, the following expressions are plotted:
-
continuous-time system discrete-time system with sample time - If the frequency range is not specified, the entire Nyquist contour is traversed, effectively
for continuous-time systems, and
for discrete-time systems.
- NyquistPlot treats the variable ω as local, effectively using Block.
- The Nyquist plot can be used to infer the number of unstable poles
of the closed-loop system as
, where
is the number of unstable poles of the open-loop system, and
is the number of clockwise encirclements of the point
. »
- The Nyquist plot can be used to infer global exponential stability of linear systems with nonlinear feedback
, where
satisfies a sector constraint
when
. The closed-loop system is stable if
, where
is the number of clockwise encirclements of the disk
, and
is the number of open-loop unstable poles. »
- NyquistPlot has the same options as Graphics, with the following additions and changes: [List of all options]
-
Axes True whether to draw axes ColorFunction Automatic how to apply coloring to the curve ColorFunctionScaling True whether to scale arguments to ColorFunction EvaluationMonitor None expression to evaluate at every evaluation Exclusions True frequencies to exclude ExclusionsStyle Automatic what to draw at excluded frequencies FeedbackSector None the sector limits for feedback function FeedbackSectorStyle Automatic style for feedback sector disk FeedbackType "Negative" the feedback type MaxRecursion Automatic maximum recursive subdivisions allowed Mesh Automatic how many mesh divisions to draw MeshFunctions {#3&} placement of mesh divisions MeshShading Automatic how to shade regions between mesh points MeshStyle Automatic the style for mesh divisions NyquistGridLines None the Nyquist grid lines to draw PerformanceGoal $PerformanceGoal aspects of performance to try to optimize PlotLegends None legends for curves PlotPoints Automatic iniitial number of sample frequencies PlotRange Automatic real and imaginary range of values PlotStyle Automatic graphics directives to specify the style of the plot PlotTheme $PlotTheme overall theme for the plot RegionFunction Automatic how to determine if a point should be included SamplingPeriod None the sampling period StabilityMargins False whether to show the stability margins StabilityMarginsStyle Automatic graphics directives to specify the style of the stability margins WorkingPrecision MachinePrecision the precision used in internal computations - The setting Exclusions->True excludes frequencies, including resonant frequencies, where the sinusoidal transfer function is discontinuous.
- Exclusions->{f1,f2,…} excludes specific frequencies fi.
- ExclusionsStyle->s specifies that style s should be used to render the curve joining opposite ends of each excluded point.
- Points corresponding to exclusions at resonant frequencies are joined by semicircles at infinity.
- FeedbackSector->{a,b} indicates feedback
with
.
-
AlignmentPoint Center the default point in the graphic to align with AspectRatio Automatic ratio of height to width Axes True whether to draw axes AxesLabel None axes labels AxesOrigin Automatic where axes should cross AxesStyle {} style specifications for the axes Background None background color for the plot BaselinePosition Automatic how to align with a surrounding text baseline BaseStyle {} base style specifications for the graphic ColorFunction Automatic how to apply coloring to the curve ColorFunctionScaling True whether to scale arguments to ColorFunction ContentSelectable Automatic whether to allow contents to be selected CoordinatesToolOptions Automatic detailed behavior of the coordinates tool Epilog {} primitives rendered after the main plot EvaluationMonitor None expression to evaluate at every evaluation Exclusions True frequencies to exclude ExclusionsStyle Automatic what to draw at excluded frequencies FeedbackSector None the sector limits for feedback function FeedbackSectorStyle Automatic style for feedback sector disk FeedbackType "Negative" the feedback type FormatType TraditionalForm the default format type for text Frame False whether to put a frame around the plot FrameLabel None frame labels FrameStyle {} style specifications for the frame FrameTicks Automatic frame ticks FrameTicksStyle {} style specifications for frame ticks GridLines None grid lines to draw GridLinesStyle {} style specifications for grid lines ImageMargins 0. the margins to leave around the graphic ImagePadding All what extra padding to allow for labels etc. ImageSize Automatic the absolute size at which to render the graphic LabelStyle {} style specifications for labels MaxRecursion Automatic maximum recursive subdivisions allowed Mesh Automatic how many mesh divisions to draw MeshFunctions {#3&} placement of mesh divisions MeshShading Automatic how to shade regions between mesh points MeshStyle Automatic the style for mesh divisions Method Automatic details of graphics methods to use NyquistGridLines None the Nyquist grid lines to draw PerformanceGoal $PerformanceGoal aspects of performance to try to optimize PlotLabel None an overall label for the plot PlotLegends None legends for curves PlotPoints Automatic iniitial number of sample frequencies PlotRange Automatic real and imaginary range of values PlotRangeClipping False whether to clip at the plot range PlotRangePadding Automatic how much to pad the range of values PlotRegion Automatic the final display region to be filled PlotStyle Automatic graphics directives to specify the style of the plot PlotTheme $PlotTheme overall theme for the plot PreserveImageOptions Automatic whether to preserve image options when displaying new versions of the same graphic Prolog {} primitives rendered before the main plot RegionFunction Automatic how to determine if a point should be included RotateLabel True whether to rotate y labels on the frame SamplingPeriod None the sampling period StabilityMargins False whether to show the stability margins StabilityMarginsStyle Automatic graphics directives to specify the style of the stability margins Ticks Automatic axes ticks TicksStyle {} style specifications for axes ticks WorkingPrecision MachinePrecision the precision used in internal computations



List of all options




Examples
open allclose allBasic Examples (5)Summary of the most common use cases
A Nyquist plot of a transfer-function model:

https://wolfram.com/xid/0e5czfwliw2dia-beoh6k

A Nyquist plot of a system with resonant frequencies:

https://wolfram.com/xid/0e5czfwliw2dia-pkjbgq

A Nyquist plot of a discrete-time system:

https://wolfram.com/xid/0e5czfwliw2dia-t5rcx2

A discrete-time system with resonant frequencies:

https://wolfram.com/xid/0e5czfwliw2dia-decp2l

Another discrete-time system with resonant frequencies:

https://wolfram.com/xid/0e5czfwliw2dia-gtkmdh

Scope (24)Survey of the scope of standard use cases
Basic Uses (11)
Nyquist plot of a continuous-time system:

https://wolfram.com/xid/0e5czfwliw2dia-5p0rrd

Nyquist plot of another continuous-time system:

https://wolfram.com/xid/0e5czfwliw2dia-g1e9sl


https://wolfram.com/xid/0e5czfwliw2dia-h2ths1

Nyquist plot of a discrete-time system:

https://wolfram.com/xid/0e5czfwliw2dia-n2tmym

Nyquist plot of a continuous-time, transfer-function model:

https://wolfram.com/xid/0e5czfwliw2dia-r7dcpn

Discrete-time, transfer-function model:

https://wolfram.com/xid/0e5czfwliw2dia-zuwemz

Nyquist plot of a state-space model:

https://wolfram.com/xid/0e5czfwliw2dia-izz2s1

The Nyquist plots of systems with resonant frequencies have encirclements at infinity:

https://wolfram.com/xid/0e5czfwliw2dia-8e1u9d


https://wolfram.com/xid/0e5czfwliw2dia-ivqom8


https://wolfram.com/xid/0e5czfwliw2dia-yehged

An improper system with resonant frequencies:

https://wolfram.com/xid/0e5czfwliw2dia-62jyau


https://wolfram.com/xid/0e5czfwliw2dia-lnklfv

Specify the expression of the sinusoidal transfer function of a system:

https://wolfram.com/xid/0e5czfwliw2dia-qeolk7

Linear System Stability (7)
There are no unstable open-loop poles ():

https://wolfram.com/xid/0e5czfwliw2dia-ct4a7
The plot shows that is not encircled (
):

https://wolfram.com/xid/0e5czfwliw2dia-qhn4em

Hence the closed-loop system is stable (); all poles are stable:

https://wolfram.com/xid/0e5czfwliw2dia-gauh50


https://wolfram.com/xid/0e5czfwliw2dia-mh3ofn


https://wolfram.com/xid/0e5czfwliw2dia-gfeu0s

https://wolfram.com/xid/0e5czfwliw2dia-ivygfk

Here , i.e. one unstable pole in the closed-loop system:

https://wolfram.com/xid/0e5czfwliw2dia-cjz5bs


https://wolfram.com/xid/0e5czfwliw2dia-cs50r0

https://wolfram.com/xid/0e5czfwliw2dia-p6xuig

The closed-loop system has two unstable poles:

https://wolfram.com/xid/0e5czfwliw2dia-ge4paz

Now , and
is encircled counterclockwise, so
, and hence
:

https://wolfram.com/xid/0e5czfwliw2dia-lbbzj4

https://wolfram.com/xid/0e5czfwliw2dia-9gyl6u

The closed-loop system has no unstable poles:

https://wolfram.com/xid/0e5czfwliw2dia-jeqi2g

For positive feedback, count encirclement around ; here
,
:

https://wolfram.com/xid/0e5czfwliw2dia-c8n4j9

https://wolfram.com/xid/0e5czfwliw2dia-fx7i7r

There are unstable poles in the closed-loop system:

https://wolfram.com/xid/0e5czfwliw2dia-eeofgu

A discrete-time system with no unstable poles ():

https://wolfram.com/xid/0e5czfwliw2dia-tyth80
There are no encirclements of (
):

https://wolfram.com/xid/0e5czfwliw2dia-s9g8ni

Hence the closed-loop system is stable ():

https://wolfram.com/xid/0e5czfwliw2dia-fldfad

A stable discrete-time system () with positive feedback:

https://wolfram.com/xid/0e5czfwliw2dia-jne1iz
There is one clockwise encirclement of (
) :

https://wolfram.com/xid/0e5czfwliw2dia-j1h03y

The closed-loop system is unstable, with one pole outside the unit circle:

https://wolfram.com/xid/0e5czfwliw2dia-un4akt


Nonlinear System Stability (6)
Starting with a stable linear system ():

https://wolfram.com/xid/0e5czfwliw2dia-j30kk

https://wolfram.com/xid/0e5czfwliw2dia-c7oqej

Using feedback , where
it is also true that
, since the disk is not encircled:

https://wolfram.com/xid/0e5czfwliw2dia-c7yvyi

Simulate closed-loop system constant feedback for
:

https://wolfram.com/xid/0e5czfwliw2dia-duuw12

https://wolfram.com/xid/0e5czfwliw2dia-bksxdu

The following stable system () has one clockwise encirclement (
) of the disk for feedback in the sector
:

https://wolfram.com/xid/0e5czfwliw2dia-fna8an

https://wolfram.com/xid/0e5czfwliw2dia-7kj8ds

Hence the closed-loop system is unstable for any feedback in that sector:

https://wolfram.com/xid/0e5czfwliw2dia-imow1o

https://wolfram.com/xid/0e5czfwliw2dia-0bsipi


https://wolfram.com/xid/0e5czfwliw2dia-i8vvl5
With a feedback configuration that has one counterclockwise encirclement ():

https://wolfram.com/xid/0e5czfwliw2dia-w1t5mk

The closed-loop system is stable with any feedback in the sector:

https://wolfram.com/xid/0e5czfwliw2dia-f6aysa

https://wolfram.com/xid/0e5czfwliw2dia-b3jzcd

A stable system has feedback in the sector , and its NyquistPlot is to the right of
:

https://wolfram.com/xid/0e5czfwliw2dia-fmqg9m

https://wolfram.com/xid/0e5czfwliw2dia-3v2vqq

The closed loop is stable for any feedback in the sector :

https://wolfram.com/xid/0e5czfwliw2dia-8o3ujd

https://wolfram.com/xid/0e5czfwliw2dia-x2twjj


https://wolfram.com/xid/0e5czfwliw2dia-mrzkug
The NyquistPlot lies within the circle for feedback in the sector :

https://wolfram.com/xid/0e5czfwliw2dia-5d5au8

The closed loop is stable for any feedback within the sector :

https://wolfram.com/xid/0e5czfwliw2dia-qdoy8f

https://wolfram.com/xid/0e5czfwliw2dia-rpywa1

A stable system lsys with feedback in the sector :

https://wolfram.com/xid/0e5czfwliw2dia-2g5ywj
The NyquistPlot of -lsys with feedback in the sector shows a stable closed-loop system:

https://wolfram.com/xid/0e5czfwliw2dia-5jpfiw

Simulate the closed loop with constant feedback:

https://wolfram.com/xid/0e5czfwliw2dia-3105gq

https://wolfram.com/xid/0e5czfwliw2dia-o8mcqq

Generalizations & Extensions (1)Generalized and extended use cases
Options (26)Common values & functionality for each option
CoordinatesToolOptions (1)
Exclusions (5)
By default, there are no exclusions for a system with no resonant frequencies:

https://wolfram.com/xid/0e5czfwliw2dia-pos1h4

Exclude the point corresponding to 0.75:

https://wolfram.com/xid/0e5czfwliw2dia-w07lnm


https://wolfram.com/xid/0e5czfwliw2dia-saazp7

Resonant frequencies correspond to semicircles of infinite radius:

https://wolfram.com/xid/0e5czfwliw2dia-y9mtsb

Exclude only one of the resonant frequencies:

https://wolfram.com/xid/0e5czfwliw2dia-v685c3

ExclusionsStyle (2)
FeedbackSector (4)

https://wolfram.com/xid/0e5czfwliw2dia-cfei9f

https://wolfram.com/xid/0e5czfwliw2dia-lf3ojo

The stable configuration of a system that is unstable:

https://wolfram.com/xid/0e5czfwliw2dia-57gsbd


https://wolfram.com/xid/0e5czfwliw2dia-kvkfb2

With feedback gain 0.1, the system is stable:

https://wolfram.com/xid/0e5czfwliw2dia-3bfnne

Rescale the gains to use the Nyquist stability criterion:

https://wolfram.com/xid/0e5czfwliw2dia-u59y2q

FeedbackSectorStyle (1)
NyquistGridLines (2)
PlotLegends (4)
Use placeholder legends for multiple systems:

https://wolfram.com/xid/0e5czfwliw2dia-zmn0ki

Use the systems as the legend text:

https://wolfram.com/xid/0e5czfwliw2dia-8vrun7

Use LineLegend to add an overall legend label:

https://wolfram.com/xid/0e5czfwliw2dia-twzqlq

Place the legend above the plot:

https://wolfram.com/xid/0e5czfwliw2dia-fl4a2w

PlotRange (2)
Specify the range of coordinates to include in a plot:

https://wolfram.com/xid/0e5czfwliw2dia-jll1g0

Points at infinity are shown in the region specified by PlotRangePadding:

https://wolfram.com/xid/0e5czfwliw2dia-ezaera


https://wolfram.com/xid/0e5czfwliw2dia-ij2mn1


https://wolfram.com/xid/0e5czfwliw2dia-iygx7c

Specify the plot range explicitly:

https://wolfram.com/xid/0e5czfwliw2dia-hv6o25


https://wolfram.com/xid/0e5czfwliw2dia-e2nu8p

PlotTheme (2)
StabilityMargins (2)
Applications (2)Sample problems that can be solved with this function
Compute gain and phase margins:

https://wolfram.com/xid/0e5czfwliw2dia-h1kttt

With no encirclements of and no poles in the right half-plane, the closed loop with unity negative feedback is stable (Nyquist stability criterion):

https://wolfram.com/xid/0e5czfwliw2dia-5ou20c


https://wolfram.com/xid/0e5czfwliw2dia-qpfler

Wolfram Research (2010), NyquistPlot, Wolfram Language function, https://reference.wolfram.com/language/ref/NyquistPlot.html (updated 2014).
Text
Wolfram Research (2010), NyquistPlot, Wolfram Language function, https://reference.wolfram.com/language/ref/NyquistPlot.html (updated 2014).
Wolfram Research (2010), NyquistPlot, Wolfram Language function, https://reference.wolfram.com/language/ref/NyquistPlot.html (updated 2014).
CMS
Wolfram Language. 2010. "NyquistPlot." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/NyquistPlot.html.
Wolfram Language. 2010. "NyquistPlot." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/NyquistPlot.html.
APA
Wolfram Language. (2010). NyquistPlot. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/NyquistPlot.html
Wolfram Language. (2010). NyquistPlot. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/NyquistPlot.html
BibTeX
@misc{reference.wolfram_2025_nyquistplot, author="Wolfram Research", title="{NyquistPlot}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/NyquistPlot.html}", note=[Accessed: 13-May-2025
]}
BibLaTeX
@online{reference.wolfram_2025_nyquistplot, organization={Wolfram Research}, title={NyquistPlot}, year={2014}, url={https://reference.wolfram.com/language/ref/NyquistPlot.html}, note=[Accessed: 13-May-2025
]}