Using Hammerstein-Wiener Models
After identifying a Hammerstein-Wiener model, you can use the model for the following tasks:
Simulation — At the command line, use
sim
to simulate the model output. To compare models to measured output and to each other, usecompare
. Note that for Hammerstein-Wiener models, the simulated and predicted model output are equivalent because these models have a trivial noise component, that is disturbance in these models is white noise. For information about plotting simulated output in the app, see Simulation and Prediction in the App.You can also specify the initial conditions for simulation. The toolbox provides various options to facilitate how you specify initial states. For example, you can use
findstates
to automatically search for state values in simulation and prediction applications. You can also specify the states manually. See theidnlhw
reference page for a definition of the Hammerstein-Wiener model states.To learn more about how
sim
computes the model output, see How the Software Computes Hammerstein-Wiener Model Output.Linearization — Compute linear approximation of Hammerstein-Wiener models using
idnlhw/linearize
orlinapp
.The
linearize
command provides a first-order Taylor series approximation of the system about an operating point.linapp
computes a linear approximation of a nonlinear model for a given input data. For more information, see the Linear Approximation of Nonlinear Black-Box Models. You can compute the operating point for linearization usingidnlhw/findop
.After computing a linear approximation of a nonlinear model, you can perform linear analysis and control design on your model using Control System Toolbox™ commands. For more information, see Using Identified Models for Control Design Applications and Create and Plot Identified Models Using Control System Toolbox Software.
Simulation and code generation using Simulink® — You can import the estimated Hammerstein-Wiener model into Simulink software using the Hammerstein-Wiener block (Hammerstein-Wiener Model) from the System Identification Toolbox™ block library. After you bring the
idnlhw
object from the workspace into Simulink, you can simulate the model output.The IDNLHW Model block supports code generation with Simulink Coder™ software, using both generic and embedded targets. Code generation does not work when the model contains
idCustomNetwork
as the input or output nonlinearity. For more information, see Simulate Identified Model in Simulink.