Add model simulation blocks to your Simulink® model from the System Identification Toolbox™ block library when you want to:
Represent the dynamics of a physical component in a Simulink model using a data-based nonlinear model.
Replace a complex Simulink subsystem with a simpler data-based nonlinear model.
You use the model simulation blocks to import the models you identified using System Identification Toolbox software from the MATLAB® workspace into the Simulink environment. For a list of System Identification Toolbox simulation blocks, see Summary of Simulation Blocks.
The following table summarizes the blocks you use to import models from the MATLAB environment into a Simulink model for simulation. Importing a model corresponds to entering the model variable name in the block parameter dialog box.
|Idmodel||Simulate a linear identified model in Simulink software.
The model can be a process (|
|Nonlinear ARX Model||Simulate |
|Hammerstein-Wiener Model||Simulate |
|Nonlinear Grey-Box Model||Simulate nonlinear ODE (|
After you import the model into Simulink software, use the block parameter dialog box to specify the initial conditions for simulating that block. (See Specifying Initial Conditions for Simulation.) For information about configuring each block, see the corresponding reference pages.
For accurate simulation of a linear or a nonlinear model, you can use default initial conditions or specify the initial conditions for simulation using the block parameters dialog box.
Specify the initial states for simulation in the Initial states (state space only: idss, idgrey) field of the Function Block Parameters: Idmodel dialog box:
For models other than
initial conditions are zero.
In some situations, you may want to match the simulated response of the model to a certain input/output data set:
Convert the identified model into state-space form
idss model), and use the state-space model in
Compute the initial state values that produce the
best fit between the model output and the measured output signal using
Specify the same input signal for simulation that
you used as the validation data in the app or in the
% Convert to state-space model mss = idss(m); % Estimate initial states from data X0 = findstates(mss,z);
z is the data set you used for validating
m. Use the model
X0 in the Idmodel block
to perform the simulation.
The states of a nonlinear ARX model correspond to the dynamic
elements of the nonlinear ARX model structure, which are the model
regressors. Regressors can be the delayed input/output
variables (standard regressors) or user-defined transformations of
delayed input/output variables (custom regressors). For more information
about the states of a nonlinear ARX model, see the
idnlarx reference page.
For simulating nonlinear ARX models, you can specify the initial conditions as input/output values, or as a vector. For more information about specifying initial conditions for simulation, see the IDNLARX Model reference page.
The states of a Hammerstein-Wiener model correspond to the states
of the embedded linear (
model. For more information about the states of a Hammerstein-Wiener
model, see the
The default initial state for simulating a Hammerstein-Wiener model is 0. For more information about specifying initial conditions for simulation, see the IDNLHW Model reference page.
This example shows how to set the initial states for simulating a model such that the simulation provides a best fit to measured input-output data.
To simulate the model using input
the initial states.
x0(:,2) is computed to maximize
the fit between the measured output,
y2, and the
To compute initial states that maximizes the fit to the corresponding
y2, and simulate the model using the second
Extract the initial states that correspond to the second experiment for simulation.
X0est = x0(:,2);
Open the System Identification Toolbox library by typing the following command at the MATLAB prompt.
Open a new Simulink model window. Then, drag
and drop an
Idmodel block from the library into
the model window.
Open the Function Block Parameters dialog box by double-clicking
Idmodel block. Specify the following block
In the Model variable field,
M to specify the estimated model.
In the Initial state field,
X0est to specify the estimated initial states.
Drag and drop an
Iddata Source block
into the model window. Then, configure the model, as shown in the
Simulate the model for 2 seconds, and compare the
ysim with the measured output
the Scope block.