Main Content

Nyquist plot with additional plot customization options

`h = nyquistplot(sys)`

nyquistplot(sys,{wmin,wmax})

nyquistplot(sys,w)

nyquistplot(sys1,sys2,...,w)

nyquistplot(AX,...)

nyquistplot(..., plotoptions)

`h = nyquistplot(sys)`

draws the Nyquist
plot of the dynamic
system model `sys`

. It also returns
the plot handle `h`

. You can use this handle to customize
the plot with the `getoptions`

and `setoptions`

commands.
Type

help nyquistoptions

for a list of available plot options.

The frequency range and number of points are chosen automatically.
See `bode`

for details
on the notion of frequency in discrete time.

`nyquistplot(sys,{wmin,wmax})`

draws the
Nyquist plot for frequencies between `wmin`

and `wmax`

(in `rad/TimeUnit`

,
where `TimeUnit`

is the time units of the input dynamic
system, specified in the `TimeUnit`

property
of `sys`

).

`nyquistplot(sys,w)`

uses the user-supplied
vector `w`

of frequencies (in `rad/TimeUnit`

,
where `TimeUnit`

is the time units of the input dynamic
system, specified in the `TimeUnit`

property
of `sys`

) at which the Nyquist response is to be
evaluated. See `logspace`

to
generate logarithmically spaced frequency vectors.

`nyquistplot(sys1,sys2,...,w)`

draws the
Nyquist plots of multiple models `sys1`

,`sys2`

,...
on a single plot. The frequency vector `w`

is optional.
You can also specify a color, line style, and marker for each system,
as in

nyquistplot(sys1,'r',sys2,'y--',sys3,'gx')

`nyquistplot(AX,...)`

plots into the axes
with handle `AX`

.

`nyquistplot(..., plotoptions)`

plots the
Nyquist response with the options specified in `plotoptions`

.
Type

help nyquistoptions

for more details.

Create a Nyquist plot of a dynamic system model and store a handle to the plot.

sys = tf(100,[1,2,1]); h = nyquistplot(sys);

Change the plot title to read "Nyquist Plot of sys." To do so, use `getoptions`

to extract the existing plot options from the plot handle `h`

.

opt = getoptions(h)

opt = FreqUnits: 'rad/s' MagUnits: 'dB' PhaseUnits: 'deg' ShowFullContour: 'on' ConfidenceRegionNumberSD: 1 ConfidenceRegionDisplaySpacing: 5 IOGrouping: 'none' InputLabels: [1x1 struct] OutputLabels: [1x1 struct] InputVisible: {'on'} OutputVisible: {'on'} Title: [1x1 struct] XLabel: [1x1 struct] YLabel: [1x1 struct] TickLabel: [1x1 struct] Grid: 'off' GridColor: [0.1500 0.1500 0.1500] XLim: {[-20 100]} YLim: {[-80 80]} XLimMode: {'auto'} YLimMode: {'auto'}

The `Title`

option is a structure with several fields.

opt.Title

`ans = `*struct with fields:*
String: 'Nyquist Diagram'
FontSize: 11
FontWeight: 'bold'
FontAngle: 'normal'
Color: [0 0 0]
Interpreter: 'tex'

Change the `String`

field of the `Title`

structure, and use `setoptions`

to apply the change to the plot.

```
opt.Title.String = 'Nyquist Plot of sys';
setoptions(h,opt)
```

Plot the Nyquist frequency response of a dynamic system. Assign a variable name to the plot handle so that you can access it for further manipulation.

sys = tf(100,[1,2,1]); h = nyquistplot(sys);

Zoom in on the critical point, (–1,0). You can do so interactively by right-clicking on the plot and selecting **Zoom on (-1,0)**. Alternatively, use the `zoomcp`

command on the plot handle `h`

.

zoomcp(h)

Compare the frequency responses of identified state-space models
of order 2 and 6 along with their `1-std`

confidence
regions rendered at every 50th frequency sample.

load iddata1 sys1 = n4sid(z1,2); % discrete-time IDSS model of order 2 sys2 = n4sid(z1,6); % discrete-time IDSS model of order 6

Both models produce about 76% fit to data. However, `sys2`

shows higher
uncertainty in its frequency response, especially close to Nyquist frequency as
shown by the plot. To see this, generate a Nyquist plot and show the confidence
region at a subset of the points at which the Nyquist response is displayed.

w = linspace(10,10*pi,256); h = nyquistplot(sys1,sys2,w); setoptions(h,'ConfidenceRegionDisplaySpacing',50,... 'ShowFullContour','off');

To turn on the confidence region display, right-click the plot and select **Characteristics** > ** Confidence Region**.

You can change the properties of your plot, for example the units. For information on the ways to change properties of your plots, see Ways to Customize Plots (Control System Toolbox).

There are two zoom options available from the right-click menu that apply specifically to Nyquist plots:

**Full View**— Clips unbounded branches of the Nyquist plot, but still includes the critical point (–1, 0).**Zoom on (-1,0)**— Zooms around the critical point (–1,0). To access critical-point zoom programmatically, use the`zoomcp`

command. See Zoom on Critical Point.

To activate data markers that display the real and imaginary values at a given frequency, click anywhere on the curve. The following figure shows a

`nyquist`

plot with a data marker.