| Contents | Index |
This table summarizes what's new in Version 7.2 (R2008a):
| New Features and Changes | Version Compatibility Considerations | Fixed Bugs and Known Problems |
|---|---|---|
| Yes Details below | Yes Summary | Bug Reports |
New features introduced in this version are:
Linearizing Nonlinear Black-Box Models at User-Specified Operating Points
Estimating Multiple-Output Models Using Weighted Sum of Least Squares Minimization Criterion
Improved Handling of Initial States for Linear and Nonlinear Models
You can now simulate nonlinear ARX and Hammerstein-Wiener models in Simulink using the nonlinear ARX and the Hammerstein-Wiener model blocks in the System Identification Toolbox™ block library. This is useful in the following situations:
Representing dynamics of a physical component in a Simulink model using a data-based nonlinear model
Replacing a complex Simulink subsystem with a simpler data-based nonlinear model
Note Nonlinear ARX Model and Hammerstein-Wiener Model blocks read variables from the MATLAB (base) workspace or model workspace. When the MATLAB workspace and model workspace contain a variable with the same name and this variable is referenced by a Simulink block, the variable in the model workspace takes precedence. |
If you have installed Real-Time Workshop® software, you can generate code from models containing nonlinear ARX and the Hammerstein-Wiener model blocks. However, you cannot generate code when:
Hammerstein-Wiener models use the customnet estimator for input or output nonlinearity.
Nonlinear ARX models use custom regressors or use the customnet or neuralnet nonlinearity estimator.
You can access the new System Identification Toolbox blocks from the Simulink Library Browser. For more information about these blocks, see the IDNLARX Model (nonlinear ARX model) and the IDNLHW Model (Hammerstein-Wiener model) block reference pages.
You can now use the linearize command to linearize nonlinear black-box models, including nonlinear ARX and Hammerstein-Wiener models, at specified operating points. Linearization produces a first-order Taylor series approximation of the system about an operating point. An operating point is defined by the set of constant input and state values for the model.
If you do not know the operating point, you can use the findop command to compute it from specifications, such as steady-state requirements or values of these quantities at a given time instant from the simulation of the model.
For nonlinear ARX models, if all of the steady-state input and output values are known, you can map these values to the model state values using the data2state command.
linearize replaces lintan and removes the restriction for linearizing models containing custom regressors or specific nonlinearity estimators, such as neuralnet and treepartition.
If you have installed Simulink® Control Design™ software, you can linearize nonlinear ARX and Hammerstein-Wiener models in Simulink after importing them into Simulink.
For more information, see:
Linear Approximation of Nonlinear Black-Box Models about computing operating points and linearizing models
Simulating Identified Model Output in Simulink about importing nonlinear black-box models into Simulink
You can now specify a custom weighted trace criterion for minimization when estimating linear and nonlinear black-box models for multiple-output systems. This feature is useful for controlling the relative importance of output channels during the estimation process.
The Algorithm property of linear and nonlinear models now provides the Criterion field for choosing the minimization criterion. This new field can have the following values:
det — (Default) Specify this option to minimize the determinant of the prediction error covariance. This choice leads to maximum likelihood estimates of model parameters. It implicitly uses the inverse of estimated noise variance as the weighting function. This option was already available in previous releases.
trace — Specify this option to define your own weighing function that controls the relative weights of output signals during the estimation. This criterion minimizes the weighted sum of least square prediction errors. You can specify the relative weighting of prediction errors for each output using the new Weighting field of the Algorithm property. By default, Weighting is an identity matrix, which means that all outputs are weighed equally. Set Weighting to a positive semidefinite symmetric matrix.
For more information about these new Algorithm fields for linear estimation, see the Algorithm Properties reference page. For more information about Algorithm fields for nonlinear estimation, see the idnlarx and idnlhw reference pages.
Note If you are estimating a single-output model, det and trace values of the Criterion field produce the same estimation results. |
The following are new options to handle initial states for nonlinear models:
For nonlinear ARX models (idnlarx), you can now specify a numerical vector for initial states when using sim or predict by setting the Init argument. For example:
predict(model,data,'init',[1;2;3;4])
where the last argument is the state vector.
For more information, see the sim and predict reference pages.
For Hammerstein-Wiener models (idnlhw), you can now choose to estimate the initial states when using predict or nlhw by setting INIT='e'.
For more information, see the predict and nlhw reference pages.
If you want to specify your own initial states, see the corresponding model reference pages for a definition of the states for each model type.
If you do not know the states, you can use the findop or the findstates command to compute the states. For more information about using these commands, see the findop(idnlarx), findop(idnlhw), findstates(idnlarx), and findstates(idnlhw) reference pages.
To help you interpret the states of a nonlinear ARX model, you can use the getDelayInfo command. For more information, see the getDelayInfo reference page.
The findstates command is available for all linear and nonlinear models. Also see the findstates(idmodel) and findstates(idnlgrey) reference pages.
The following improvements are available for the Algorithm property of linear models to align linear and nonlinear models (where appropriate) and improve robustness for default settings:
The SearchDirection field (model.Algorithm.SearchDirection) has been renamed to SeachMethod (model.Algorithm.SearchMethod) to be consistent with the nonlinear models, where the corresponding field is SeachMethod.
The new lsqnonlin option for specifying SearchMethod is available. model.Algorithm.SearchMethod='lsqnonlin' uses the lsqnonlin optimizer from the Optimization Toolbox™ software. You must have Optimization Toolbox software installed to use this option.
The improved gn algorithm (subspace Gauss-Newton method) is available for specifying SearchDirection. The updated gn algorithm better handles the scale of the parameter Jacobians and is also consistent with the algorithm used for nonlinear model estimation.
The default values for the LimitError field of the Algorithm property (modelname.Algorithm.LimitError) is changed to 0, which is consistent with the corresponding option for estimating nonlinear models. In previous releases, LimitError default value was 1.6, which robustified the estimation process against data outliers by associating a linear penalty for large errors, rather than a quadratic penalty. Now, there is no robustification by default (LimitError=0). You can estimate the model with the default setting and plot the prediction errors using pe(data.model). If the resulting plot shows occasional large values, repeat the estimation with model.Algorithm.LimitError set to a value between 1 and 2.
The model.Algorithm.Advanced property has a new tolerance field GnPinvConst corresponding to the gn SearchMethod. GnPinvConst specifies that singular values of the Jacobian that are smaller than GnPinvConst*max(size(J))*norm(J)*eps are discarded when computing the search direction. You can assign a positive real value for this field. Default value is 1e4.
The default value of model.Algorithm.Advanced.Zstability property has been changed from 1.01 to 1+sqrt(eps). The new default reduces the possibility of a situation where the estimation algorithm does not converge (predictor becomes unstable) while still allowing enough flexibility to capture lightly damped modes.
For more information about Algorithm properties of linear models, see the Algorithm Properties reference page.
New documentation for System Identification Toolbox blocks is provided. For more information, see Block Reference in the System Identification Toolbox reference documentation.
| Function or Property Name | What Happens When You Use Function or Property? | Use This Instead | Compatibility Considerations |
|---|---|---|---|
| lintan | Still runs | linearize(idnlhw) linearize(idnlarx) | See Linearizing Nonlinear Black-Box Models at User-Specified Operating Points. |
model.Algorithm. | Still runs | model.Algorithm. SearchMethod | See Improved Algorithm Options for Linear Models. |
gns option of model.Algorithm. | Still runs | gn | See Improved Algorithm Options for Linear Models. |
GnsPinvTol of model.Algorithm.Advanced | Still runs | GnPinvConst | See Improved Algorithm Options for Linear Models. |
![]() | Version 7.2.1 (R2008b) System Identification Toolbox Software | Version 7.1 (R2007b) System Identification Toolbox Software | ![]() |

Learn more about resources for designing, testing, and implementing control systems.
Get free kit| © 1984-2012- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |