| Products & Services | Solutions | Academia | Support | User Community | Company |
| Download Product Updates | | | Get Pricing | | | Trial Software |
| Documentation → System Identification Toolbox |
| Contents | Index |
| Learn more about System Identification Toolbox |
| On this page… |
|---|
What Does a Pole-Zero Plot Show? How to Plot Model Poles and Zeros Using the GUI |
You can create pole-zero plots of linear input-output polynomial, state-space, and grey-box models.
The following figure shows a sample pole-zero plot of the model with confidence intervals. x indicate poles and o indicate zeros.

The general equation of a linear dynamic system is given by:
![]()
In this equation, G is an operator that takes the input to the output and captures the system dynamics, and v is the additive noise term.
The poles of a linear system are the roots of the denominator of the transfer function G. The poles have a direct influence on the dynamic properties of the system. The zeros are the roots of the numerator of G. If you estimated a noise model H in addition to the dynamic model G, you can also view the poles and zeros of the noise model.
Zeros and the poles are equivalent ways of describing the coefficients of a linear difference equation, such as the ARX model. Poles are associated with the output side of the difference equation, and zeros are associated with the input side of the equation. The number of poles is equal to the number of sampling intervals between the most-delayed and least-delayed output. The number of zeros) is equal to the number of sampling intervals between the most-delayed and least-delayed input. For example, there two poles and one zero in the following ARX model:
![]()
To create a pole-zero plot for parametric linear models in the System Identification Tool GUI, select the Zeros and poles check box in the Model Views area. For general information about creating and working with plots, see Working with Plots in the System Identification Tool GUI.
To include or exclude a model on the plot, click the corresponding model icon in the System Identification Tool GUI. Active models display a thick line inside the Model Board icon.
In addition, you can display a confidence interval for each pole and zero on the plot. The confidence interval corresponds to the range of pole or zero values with a specific probability of being the actual pole or zero of the system. The toolbox uses the estimated uncertainty in the model parameters to calculate confidence intervals and assumes the estimates have a Gaussian distribution.
For example, for a 95% confidence interval, the region around the nominal pole or zero value represents the range of values that have a 95% probability of being the true system pole or zero value. You can specify the confidence interval as a probability (between 0 and 1) or as the number of standard deviations of a Gaussian distribution. For example, a probability of 0.99 (99%) corresponds to 2.58 standard deviations.
The following table summarizes the Zeros and Poles plot settings.
Zeros and Poles Plot Settings
| Action | Command |
|---|---|
| Display the confidence interval. |
|
| Show real and imaginary axes. | Select Style > Re/Im-axes. Select this option again to hide the axes. |
| Show the unit circle. | Select Style > Unit circle. Select this option again to hide the unit circle. |
| (Multiple-output system only) Select an input-output pair to view the poles and zeros corresponding to those channels. | Select the output by name in the Channel menu. |
You can create a pole-zero plot for linear polynomial, linear state-space, and linear grey-box models using the pzmap command. pzmap lets you include several models on a plot.
To display confidence intervals for a specified number of standard deviations, use the following syntax:
pzmap(model,'sd',sd)
where sd is the number of standard deviations of a Gaussian distribution. For example, a confidence value of 99% for the nominal model curve corresponds to 2.58 standard deviations.
| Command | Description | Example |
|---|---|---|
| pzmap | Plots zeros and poles of the model on the S-plane or Z-plane for continuous-time or discrete-time model, respectively. | To plot the poles and zeros of the model mod, use the following command: pzmap(mod) |
For detailed information about pzmap, see the corresponding reference page.
You can use pole-zero plots to evaluate whether it might be useful to reduce model order. When confidence intervals for a pole-zero pair overlap, this overlap indicates a possible pole-zero cancelation.
For example, you can use the following syntax to plot a 1-standard-deviation confidence interval around model poles and zeros.
pzmap(model,'sd',1)
If poles and zeros overlap, try estimating a lower order model.
Always validate model output and residuals to see if the quality of the fit changes after reducing model order. If the plot indicates pole-zero cancellations, but reducing model order degrades the fit, then the extra poles probably describe noise. In this case, you can choose a different model structure that decouples system dynamics and noise. For example, try ARMAX, Output-Error, or Box-Jenkins polynomial model structures with an A or F polynomial of an order equal to that of the number of uncanceled poles. For more information about estimating linear polynomial models, see Identifying Input-Output Polynomial Models.
![]() | Noise Spectrum Plots | Nonlinear ARX Model Plots | ![]() |

Includes the most popular MATLAB recorded presentations with Q&A sessions led by MATLAB experts.
| © 1984-2009- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |