Documentation Center

  • Trial Software
  • Product Updates




h = iopzplot(sys)
iopzplot(..., plotoptions)


h = iopzplot(sys) computes and plots the poles and zeros of each input/output pair of the LTI model SYS. The poles are plotted as x's and the zeros are plotted as o's. It also returns the plot handle h. You can use this handle to customize the plot with the getoptions and setoptions commands. Type

help pzoptions 

for a list of available plot options.

iopzplot(sys1,sys2,...) shows the poles and zeros of multiple LTI models SYS1,SYS2,... on a single plot. You can specify distinctive colors for each model, as in


iopzplot(AX,...) plots into the axes with handle AX.

iopzplot(..., plotoptions) plots the poles and zeros with the options specified in plotoptions. Type

help pzoptions 

for more detail.


For arrays sys of LTI models, iopzplot plots the poles and zeros of each model in the array on the same diagram.


Example 1

Use the plot handle to change the I/O grouping of a pole/zero map.

sys = rss(3,2,2);
h = iopzplot(sys);
% View all input-output pairs on a single axis.

Example 2

View the poles and zeros of an over-parameterized state-space model estimated using input-output data.

load iddata1
h = iopzplot(sys);

There is at least one pair of complex-conjugate poles whose locations overlap with those of a complex zero, within 1–std confidence region. This suggests their redundancy. Hence a lower (4th) order model might be more robust for the given data.

sys2 = ssest(z1,4,ssestOptions('focus','simulation'));
h = iopzplot(sys,sys2);
axis([-20, 10 -30 30])

The variability in the pole-zero locations of the second model sys2 are reduced.

More About

expand all



See Also

| | |

Was this topic helpful?