nlhwOptions
Option set for nlhw
Description
creates
the default option set for opt
= nlhwOptionsnlhw
. Use dot notation
to customize the option set, if needed.
creates
an option set with options specified by one or more opt
= nlhwOptions(Name,Value
)Name,Value
pair
arguments. The options that you do not specify retain their default
value.
Examples
Estimate HammersteinWiener Model Using an Estimation Option Set
Create estimation option set for nlhw
to view estimation progress, use the LevenbergMarquardt search method, and set the maximum iteration steps to 50
.
opt = nlhwOptions; opt.Display = 'on'; opt.SearchMethod = 'lm'; opt.SearchOptions.MaxIterations = 50;
Load data and estimate the model.
load iddata3
sys = nlhw(z3,[4 2 1],idSigmoidNetwork,idPiecewiseLinear,opt);
Specify an Option Set for HammersteinWiener Model Estimation
Create an options set for nlhw
where:
Initial conditions are estimated from the estimation data.
Subspace GaussNewton least squares method is used for estimation.
opt = nlhwOptions('InitialCondition','estimate','SearchMethod','gn');
Input Arguments
NameValue Arguments
Specify optional pairs of arguments as
Name1=Value1,...,NameN=ValueN
, where Name
is
the argument name and Value
is the corresponding value.
Namevalue arguments must appear after other arguments, but the order of the
pairs does not matter.
Before R2021a, use commas to separate each name and value, and enclose
Name
in quotes.
Example: nlhwOptions('InitialCondition','estimate')
InitialCondition
— Handling of initial conditions
'zero'
(default)  'estimate'
Handling of initial conditions during estimation using nlhw
,
specified as the commaseparated pair consisting of InitialCondition
and
one of the following:
'zero'
— The initial conditions are set to zero.'estimate'
— The initial conditions are treated as independent estimation parameters.
Display
— Estimation progress display setting
'off'
(default)  'on'
Estimation progress display setting, specified as the commaseparated
pair consisting of 'Display'
and one of the following:
'off'
— No progress or results information is displayed.'on'
— Information on model structure and estimation results are displayed in a progressviewer window.
Normalize
— Option to normalize estimation data
true
(default)  false
Option to normalize estimation data, specified as
true
or false
. If
Normalize
is true
, then the
algorithm uses the method specified in
NormalizationOptions
to normalize the
data.
Because saturation, deadzone, and piecewiselinear nonlinearities are
physically meaningful, you must use caution to take normalization into
account when specifying initial values. However, even when
Normalize
is true, the software automatically
disables normalization for these nonlinearities when you set the
property NormalizationOptions.NormalizationMethod
to 'auto'
.
NormalizationOptions
— Option set for configuring normalization
option set
Option set for configuring normalization, specified as the options
shown in the following table. The first option,
NormalizationMethod
, determines which method
the algorithm uses. The default option is 'auto'
. In
general, for idnlhw
models, a setting of
'auto'
is equivalent to a setting of
'center'
. However, if your model includes any of
the nonlinearity estimators that have physically meaningful
parameters—idSaturation
,
idDeadzone
, and
idPiecewiseLinear
—a setting of
'auto'
results in the software disabling
normalization for those estimators.
Except for 'medianiqr'
, each specific method in
NormalizationMethod
has an associated
configuration option, such as CenterMethodType
when
you specify the 'center'
method. For more
information about these methods, see the MATLAB^{®} function normalize
.
Method or Method Option  Value  Description  Default 

NormalizationMethod  'auto'  Set method automatically. 
(equivalent
to
either The

'center'  Center data to have mean 0.  
'zscore'  zscore with mean 0 and standard deviation 1.  
'norm'  2norm.  
'scale'  Scale by standard deviation.  
'range'  Rescale range of data to [min,max].  
'medianiqr'  Center and scale data to have median 0 and interquartile scale of 1.  
 'mean'  Center to have mean 0.  'mean' 
'median'  Center to have median 0.  
 'std'  Center and scale to have mean 0 and standard deviation 1.  'std' 
'robust'  Center and scale to have median 0 and median absolute deviation 1.  
 'std'  Scale by standard deviation.  'std' 
'mad'  Scale by median absolute deviation.  
'iqr'  Scale by interquartile range.  
'first'  Scale by first element of data.  
 Positive real value  pnorm, where p is a positive integer.  2 
 2element row vector  Rescale range of data to an interval of the form
[a b] , where a
< b .  [0 1] 
OutputWeight
— Weighting of prediction error in multioutput estimations
'noise'
(default)  positive semidefinite matrix
Weighting of prediction error in multioutput model estimations,
specified as the commaseparated pair consisting of 'OutputWeight'
and
one of the following:
'noise'
— Optimal weighting is automatically computed as the inverse of the estimated noise variance. This weighting minimizesdet(E'*E)
, whereE
is the matrix of prediction errors. This option is not available when using'lsqnonlin'
as a'SearchMethod'
.A positive semidefinite matrix,
W
, of size equal to the number of outputs. This weighting minimizestrace(E'*E*W/N)
, whereE
is the matrix of prediction errors andN
is the number of data samples.
Regularization
— Options for regularized estimation of model parameters
structure
Options for regularized estimation of model parameters, specified
as the commaseparated pair consisting of 'Regularization'
and
a structure with fields:
Field Name  Description  Default 

Lambda  Bias versus variance tradeoff constant, specified as a nonnegative scalar.  0 — Indicates no regularization. 
R  Weighting matrix, specified as a vector of nonnegative scalars
or a square positive semidefinite matrix. The length must be equal
to the number of free parameters in the model, np .
Use the nparams command to determine
the number of model parameters.  1 — Indicates a value of eye(np) . 
Nominal 
The nominal value towards which the free parameters are pulled during estimation, specified as one of the following:
 'zero' 
To specify field values in Regularization
,
create a default nlhwOptions
set and modify the
fields using dot notation. Any fields that you do not modify retain
their default values.
opt = nlhwOptions; opt.Regularization.Lambda = 1.2; opt.Regularization.R = 0.5*eye(np);
Regularization is a technique for specifying model flexibility constraints, which reduce uncertainty in the estimated parameter values. For more information, see Regularized Estimates of Model Parameters.
SearchMethod
— Numerical search method used for iterative parameter estimation
'auto'
(default)  'gn'
 'gna'
 'lm'
 'grad'
 'lsqnonlin'
 'fmincon'
Numerical search method used for iterative parameter estimation, specified as the one of the values in the following table.
SearchMethod  Description 

'auto'  Automatic method selection A combination of the
line search algorithms, 
'gn'  Subspace GaussNewton leastsquares search Singular
values of the Jacobian matrix less than

'gna'  Adaptive subspace GaussNewton search Eigenvalues
less than 
'lm'  LevenbergMarquardt least squares search Each
parameter value is 
'grad'  Steepest descent leastsquares search 
'lsqnonlin'  Trustregionreflective algorithm of This algorithm requires Optimization Toolbox™ software. 
'fmincon'  Constrained nonlinear solvers You can use the
sequential quadratic programming (SQP) and trustregionreflective
algorithms of the

SearchOptions
— Option set for the search algorithm
search option set
Option set for the search algorithm, specified as the commaseparated
pair consisting of 'SearchOptions'
and a search
option set with fields that depend on the value of
SearchMethod
.
SearchOptions
Structure When SearchMethod
is Specified
as 'gn'
, 'gna'
, 'lm'
,
'grad'
, or 'auto'
Field Name  Description  Default  

Tolerance  Minimum percentage difference between the current value
of the loss function and its expected improvement after the next iteration,
specified as a positive scalar. When the percentage of expected improvement
is less than  1e5  
MaxIterations  Maximum number of iterations during lossfunction minimization, specified as a positive
integer. The iterations stop when Setting
Use
 20  
Advanced  Advanced search settings, specified as a structure with the following fields:

SearchOptions
Structure When SearchMethod
Is Specified
as 'lsqnonlin'
Field Name  Description  Default 

FunctionTolerance  Termination tolerance on the loss function that the software minimizes to determine the estimated parameter values, specified as a positive scalar. The
value of  1e5 
StepTolerance  Termination tolerance on the estimated parameter values, specified as a positive scalar. The value of  1e6 
MaxIterations  Maximum number of iterations during lossfunction minimization, specified as a positive
integer. The iterations stop when The value of
 20 
SearchOptions
Structure When SearchMethod
Is Specified
as 'fmincon'
Field Name  Description  Default 

Algorithm 
For more information about the algorithms, see Constrained Nonlinear Optimization Algorithms (Optimization Toolbox) and Choosing the Algorithm (Optimization Toolbox).  'sqp' 
FunctionTolerance  Termination tolerance on the loss function that the software minimizes to determine the estimated parameter values, specified as a positive scalar.  1e6 
StepTolerance  Termination tolerance on the estimated parameter values, specified as a positive scalar.  1e6 
MaxIterations  Maximum number of iterations during loss function minimization, specified as a positive
integer. The iterations stop when  100 
To specify field values in SearchOptions
, create a
default nlhwOptions
set and modify the fields using
dot notation. Any fields that you do not modify retain their default
values.
opt = nlhwOptions; opt.SearchOptions.MaxIterations = 50; opt.SearchOptions.Advanced.RelImprovement = 0.5;
Advanced
— Additional advanced options
structure
Additional advanced options, specified as the commaseparated
pair consisting of 'Advanced'
and a structure with
fields:
Field Name  Description  Default 

ErrorThreshold  Threshold for when to adjust the weight of large errors from
quadratic to linear, specified as a nonnegative scalar. Errors larger
than ErrorThreshold times the estimated standard
deviation have a linear weight in the loss function. The standard
deviation is estimated robustly as the median of the absolute deviations
from the median of the prediction errors, divided by 0.7. If your
estimation data contains outliers, try setting ErrorThreshold to 1.6 .  0 — Leads to a purely quadratic loss
function. 
MaxSize  Maximum number of elements in a segment when inputoutput data is split into segments, specified as a positive integer.  250000 
To specify field values in Advanced
, create
a default nlhwOptions
set and modify the fields
using dot notation. Any fields that you do not modify retain their
default values.
opt = nlhwOptions; opt.Advanced.ErrorThreshold = 1.2;
Output Arguments
opt
— Option set for nlhw
nlhwOptions
option set
Option set for nlhw
, returned as an nlhwOptions
option
set.
Version History
Introduced in R2015aR2018a: Renaming of Estimation and Analysis Options
The names of some estimation and analysis options were changed in R2018a. Prior names still work.
See Also
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
 América Latina (Español)
 Canada (English)
 United States (English)
Europe
 Belgium (English)
 Denmark (English)
 Deutschland (Deutsch)
 España (Español)
 Finland (English)
 France (Français)
 Ireland (English)
 Italia (Italiano)
 Luxembourg (English)
 Netherlands (English)
 Norway (English)
 Österreich (Deutsch)
 Portugal (English)
 Sweden (English)
 Switzerland
 United Kingdom (English)