NyquistPlot
NyquistPlot[lsys]
generates a Nyquist plot of the transfer function for the system lsys.
NyquistPlot[lsys,{ω_{min},ω_{max}}]
plots for the frequency range ω_{min} to ω_{max}.
NyquistPlot[expr,{ω,ω_{min},ω_{max}}]
plots expr using the variable ω.
Details and Options
 NyquistPlot gives the complexplane 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 continuoustime systems, the Nyquist contour encloses the entire right halfplane and excludes poles on the imaginary axis. It is traversed in a clockwise direction.
 For discretetime 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:

continuoustime system discretetime system with sample time  If the frequency range is not specified, the entire Nyquist contour is traversed, effectively for continuoustime systems, and for discretetime 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 closedloop system as , where is the number of unstable poles of the openloop 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 closedloop system is stable if , where is the number of clockwise encirclements of the disk , and is the number of openloop 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>{f_{1},f_{2},…} excludes specific frequencies f_{i}.
 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)
Scope (24)
Basic Uses (11)
Nyquist plot of a continuoustime system:
Nyquist plot of another continuoustime system:
Nyquist plot of a discretetime system:
Nyquist plot of a continuoustime, transferfunction model:
Discretetime, transferfunction model:
Nyquist plot of a statespace model:
The Nyquist plots of systems with resonant frequencies have encirclements at infinity:
An improper system with resonant frequencies:
Specify the expression of the sinusoidal transfer function of a system:
Linear System Stability (7)
There are no unstable openloop poles ():
The plot shows that is not encircled ():
Hence the closedloop system is stable (); all poles are stable:
Here , i.e. one unstable pole in the closedloop system:
The closedloop system has two unstable poles:
Now , and is encircled counterclockwise, so , and hence :
The closedloop system has no unstable poles:
For positive feedback, count encirclement around ; here , :
There are unstable poles in the closedloop system:
A discretetime system with no unstable poles ():
There are no encirclements of ():
Hence the closedloop system is stable ():
A stable discretetime system () with positive feedback:
There is one clockwise encirclement of () :
The closedloop system is unstable, with one pole outside the unit circle:
Nonlinear System Stability (6)
Starting with a stable linear system ():
Using feedback , where it is also true that , since the disk is not encircled:
Simulate closedloop system constant feedback for :
The following stable system () has one clockwise encirclement () of the disk for feedback in the sector :
Hence the closedloop system is unstable for any feedback in that sector:
With a feedback configuration that has one counterclockwise encirclement ():
The closedloop system is stable with any feedback in the sector:
A stable system has feedback in the sector , and its NyquistPlot is to the right of :
The closed loop is stable for any feedback in the sector :
The NyquistPlot lies within the circle for feedback in the sector :
The closed loop is stable for any feedback within the sector :
A stable system lsys with feedback in the sector :
The NyquistPlot of lsys with feedback in the sector shows a stable closedloop system:
Options (26)
CoordinatesToolOptions (1)
Exclusions (5)
ExclusionsStyle (2)
FeedbackSector (4)
NyquistGridLines (2)
PlotLegends (4)
Use placeholder legends for multiple systems:
Use the systems as the legend text:
Use LineLegend to add an overall legend label:
PlotRange (2)
Specify the range of coordinates to include in a plot:
Points at infinity are shown in the region specified by PlotRangePadding:
StabilityMargins (2)
Applications (2)
Text
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.
APA
Wolfram Language. (2010). NyquistPlot. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/NyquistPlot.html