Nonlinear ARX model
sys = idnlarx(Orders)
sys = idnlarx(Orders,Nonlinearity)
sys = idnlarx(Orders,Nonlinearity,Name,Value)
sys = idnlarx(LinModel)
sys = idnlarx(LinModel,Nonlinearity)
sys = idnlarx(LinModel,Nonlinearity,Name,Value)
creates
a nonlinear ARX model with the specified orders using a default wavelet
network nonlinearity estimator.sys
= idnlarx(Orders
)
specifies
a nonlinearity estimator for the model.sys
= idnlarx(Orders
,Nonlinearity
)
specifies
additional attributes of the sys
= idnlarx(Orders
,Nonlinearity
,Name,Value
)idnlarx
model structure
using one or more Name,Value
pair arguments.
uses
a linear ARX model sys
= idnlarx(LinModel
)LinModel
to specify the model
orders and the initial values of the linear coefficients of the model.
specifies
a nonlinearity estimator for the model.sys
= idnlarx(LinModel
,Nonlinearity
)
specifies
additional attributes of the sys
= idnlarx(LinModel
,Nonlinearity
,Name,Value
)idnlarx
model structure
using one or more Name,Value
pair arguments.
idnlarx
represents a nonlinear ARX model,
which is an extension of the linear ARX structure and contains linear
and nonlinear functions. For more information, see Nonlinear ARX Model Extends the Linear ARX Structure.
Use the nlarx
command
to both construct an idnlarx
object and estimate
the model parameters.
You can also use the idnlarx
constructor
to create the nonlinear ARX model and then estimate the model parameters
using nlarx
or pem
.
For idnlarx
object properties, see Properties.

Model orders and delays for defining the regressor configuration, specified as nonnegative integers. For a model with n_{y} output channels and n_{u} input channels:
na = [1 2; 2 3] nb = [1 2 3; 2 3 1]; nk = [2 0 3; 1 0 5]; The estimation data for this system has three inputs (
NoteThe minimum lag for regressors based on output variables is
always  

Regressors constructed from combinations of inputs and outputs, specified as one of the following:
For a model with n_{y} outputs,
specify an n_{y}by1 cell
array of These regressors are in addition to the standard regressors
based on Default:  

Subset of regressors that enter as inputs to the nonlinear block of the model, specified as one of the following:
For a model with multiple outputs, specify a cell array of n_{y} elements,
where n_{y} is the number of
output channels. For each output, specify one of the preceding options.
Alternatively, to apply the same regressor subset to all model outputs,
specify Default:  

Nonlinearity estimator, specified as one of the following:
For more information, see Available Nonlinearity Estimators for Nonlinear ARX Models. Specifying a character vector, for example
For Default:  

Summary report that contains information about the estimation
options and results when the model is estimated using the
The contents of m = idnlarx([2 2 1]); m.Report.OptionsUsed ans = [] If you use load iddata1;
m = nlarx(z1, [2 2 1]);
m.Report.OptionsUsed Option set for the nlarx command: IterWavenet: 'auto' Focus: 'prediction' Display: 'off' Regularization: [1x1 struct] SearchMethod: 'auto' SearchOption: [1x1 idoptions.search.identsolver] OutputWeight: 'noise' Advanced: [1x1 struct]
For more information on this property and how to use it, see Output Arguments in
the  

Independent variable for the inputs, outputs, and—when available—internal states, specified as a character vector. Default:  

Noise variance (covariance matrix) of the model innovations e.  

Sample time. Default:  

Units for the time variable, the sample time
Changing this property has no effect on other properties, and
therefore changes the overall system behavior. Use Default:  

Input channel names, specified as one of the following:
Alternatively, use automatic vector expansion to assign input
names for multiinput models. For example, if sys.InputName = 'controls'; The input names automatically expand to When you estimate a model using an You can use the shorthand notation Input channel names have several uses, including:
Default:  

Input channel units, specified as one of the following:
Use Default:  

Input channel groups. The sys.InputGroup.controls = [1 2]; sys.InputGroup.noise = [3 5]; creates input groups named sys(:,'controls') Default: Struct with no fields  

Output channel names, specified as one of the following:
Alternatively, use automatic vector expansion to assign output
names for multioutput models. For example, if sys.OutputName = 'measurements'; The output names automatically expand to When you estimate a model using an You can use the shorthand notation Output channel names have several uses, including:
Default:  

Output channel units, specified as one of the following:
Use Default:  

Output channel groups. The sys.OutputGroup.temperature = [1]; sys.InputGroup.measurement = [3 5]; creates output groups named sys('measurement',:) Default: Struct with no fields  

System name, specified as a character vector. For example, Default:  

Any text that you want to associate with the system, stored as a string or a cell array of
character vectors. The property stores whichever data type you
provide. For instance, if sys1.Notes = "sys1 has a string."; sys2.Notes = 'sys2 has a character vector.'; sys1.Notes sys2.Notes ans = "sys1 has a string." ans = 1×1 cell array {'sys2 has a character vector.'} Default:  

Any type of data you want to associate with system, specified as any MATLAB^{®} data type. Default: 
addreg
 customnet
 customreg
 getreg
 idnlarx/findop
 linear
 linearize
 nlarx
 pem
 polyreg
 sigmoidnet
 wavenet