| 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… |
|---|
How Transient Response Helps to Validate Models What Does a Transient Response Plot Show? How to Plot Impulse and Step Response Using the GUI |
You can plot the simulated response of a model using impulse and step signals as the input for all linear parametric models and correlation analysis (nonparametric) models.
You can also create step-response plots for nonlinear models. These step and impulse response plots, also called transient response plots, provide insight into the characteristics of model dynamics, including peak response and settling time.
Note For frequency-response models, impulse- and step-response plots are not available. For nonlinear models, only step-response plots are available. |
Transient response plots provide insight into the basic dynamic properties of the model, such as response times, static gains, and delays.
Transient response plots also help you validate how well a linear parametric model, such as a linear ARX model or a state-space model, captures the dynamics. For example, you can estimate an impulse or step response from the data using correlation analysis (nonparametric model), and then plot the correlation analysis result on top of the transient responses of the parametric models.
Because nonparametric and parametric models are derived using different algorithms, agreement between these models increases confidence in the parametric model results.
Transient response plots show the value of the impulse or step response on the vertical axis. The horizontal axis is in units of time you specified for the data used to estimate the model.
The impulse response of a dynamic model is the output signal that results when the input is an impulse. That is, u(t) is zero for all values of t except at t=0, where u(0)=1. In the following difference equation, you can compute the impulse response by setting y(-T)=y(-2T)=0, u(0)=1, and u(t>0)=0.
![]()
The step response is the output signal that results from a step input, where u(t<0)=0 and u(t>0)=1.
If your model includes a noise model, you can display the transient response of the noise model associated with each output channel. For more information about how to display the transient response of the noise model, see How to Plot Impulse and Step Response Using the GUI.
The following figure shows a sample Transient Response plot, created in the System Identification Tool GUI.

To create a transient analysis plot in the System Identification Tool GUI, select the Transient resp 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.
The following table summarizes the Transient Response plot settings.
Transient Response Plot Settings
| Action | Command |
|---|---|
| Display step response for linear or nonlinear model. | Select Options > Step response. |
| Display impulse response for linear model. | Select Options > Impulse response. |
Display the confidence interval. |
|
Change time span over which the impulse or step response is calculated. For a scalar time span T, the resulting response is plotted from -T/4 to T. |
|
| Toggle between line plot or stem plot. | Select Style > Line plot or Style > Stem plot. |
(Multiple-output system only) | Select the output by name in the Channel menu. If the plotted models include a noise model, you can display the transient response properties associated with each output channel. The name of the channel has the format e@OutputName, where OutputName is the name of the output channel corresponding to the noise model. |
(Step response for nonlinear models only) | Select Options > Step Size, and then chose from two options:
|
In addition to the transient-response curve, you can display a confidence interval on the plot. To learn how to show or hide confidence interval, see the description of the plot settings in How to Plot Impulse and Step Response Using the GUI.
The confidence interval corresponds to the range of response values with a specific probability of being the actual response 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 curve represents the range of values that have a 95% probability of being the true system response. 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.
Note The calculation of the confidence interval assumes that the model sufficiently describes the system dynamics and the model residuals pass independence tests. |
You can plot impulse- and step-response plots using the impulse and step commands, respectively.
All plot commands have the same basic syntax, as follows:
To plot one model, use the syntax command(model).
To plot several models, use the syntax command(model1,model2,...,modelN).
In this case, command represents any of the plotting commands.
To display confidence intervals for a specified number of standard deviations, use the following syntax:
command(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.
To display a filled confidence region, use the following syntax:
command(model,'sd',sd,'fill')
The following table summarizes commands that generate impulse- and step-response plots. For detailed information about each command, see the corresponding reference page.
| Command | Description | Example |
|---|---|---|
| impulse | Plots impulse response for idpoly, idproc, idarx, idss, and idgrey model objects. Estimates and plots impulse response models for iddata objects. | To plot the impulse response of the model mod, type the following command: impulse(mod) |
| step | Plots the step response of all linear and nonlinear models. Estimates and plots step response models for iddata objects. | To plot the step response of the model mod, type the following command: step(mod) To specify step levels for a nonlinear model, type the following command: step(mod, 'InputLevel',[u1;u2]) |
![]() | Residual Analysis | Frequency Response 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 |