idnlarx
Nonlinear ARX model
Description
An idnlarx
model represents a nonlinear ARX model, which is an
extension of the linear ARX structure and contains linear and nonlinear
functions.
A nonlinear ARX model consists of model regressors and an output function. The output function contains one or more mapping objects, one for each model output. Each mapping object can include a linear and a nonlinear function that act on the model regressors to give the model output and a fixed offset for that output. This block diagram represents the structure of a single-output nonlinear ARX model in a simulation scenario.
The software computes the nonlinear ARX model output y in two stages:
It computes regressor values from the current and past input values and the past output data.
In the simplest case, regressors are delayed inputs and outputs, such as u(t–1) and y(t–3). These kind of regressors are called linear regressors. You specify linear regressors using the
linearRegressor
object. You can also specify linear regressors by using linear ARX model orders as an input argument. For more information, see Nonlinear ARX Model Orders and Delay. However, this second approach constrains your regressor set to linear regressors with consecutive delays. To create polynomial regressors, use thepolynomialRegressor
object. To create periodic regressors that contain the sine and cosine functions of delayed input and output variables, use theperiodicRegressor
object. You can also specify custom regressors, which are nonlinear functions of delayed inputs and outputs. For example, u(t–1)y(t–3) is a custom regressor that multiplies instances of input and output together. Specify custom regressors using thecustomRegressor
object.You can assign any of the regressors as inputs to the linear function block of the output function, the nonlinear function block, or both.
It maps the regressors to the model output using an output function block. The output function block can include multiple mapping objects, with each mapping object containing linear, nonlinear, and offset blocks in parallel. For example, consider the following equation:
Here, x is a vector of the regressors, and r is the mean of x. is the output of the linear function block. represents the output of the nonlinear function block. Q is a projection matrix that makes the calculations well-conditioned. d is a scalar offset that is added to the combined outputs of the linear and nonlinear blocks. The exact form of F(x) depends on your choice of output function. You can select from the available mapping objects, such as tree-partition networks, wavelet networks, and multilayer neural networks. You can also exclude either the linear or the nonlinear function block from the output function.
When estimating a nonlinear ARX model, the software computes the model parameter values, such as L, r, d, Q, and other parameters specifying g.
The resulting nonlinear ARX models are idnlarx
objects that store all model data, including model regressors and
parameters of the output function. For more information about these objects, see Nonlinear Model Structures.
For more information on the idnlarx
model structure, see What Are Nonlinear ARX Models?.
For idnlarx
object properties, see Properties.
Creation
You can obtain an idnlarx
object in one of two ways.
Syntax
Description
Specify Model Directly
specifies a set of linear regressors using ARX model orders. Use this syntax when you
extend an ARX linear model, or when you plan to use only regressors that are linear with
consecutive lags.sys
= idnlarx(output_name
,input_name
,orders
)
creates a nonlinear ARX model with the output and input names of
sys
= idnlarx(output_name
,input_name
,Regressors)output_name
and input_name
, respectively,
and a regressor set in Regressors
that contains any combination of linear, polynomial, periodic,
and custom regressors. The software constructs sys
using the
default wavelet network ('idWaveletNetwork'
) mapping object for the
output function.
Initialize Model Values Using Linear Model
uses a linear model sys
= idnlarx(linmodel
)linmodel
to extract certain properties such as
names, units, and sample time, and to initialize the values of the linear coefficients
of the model. Use this syntax when you want to create a nonlinear ARX model as an
extension of, or an improvement upon, an existing linear model.
Specify Model Properties
specifies additional properties of
the sys
= idnlarx(___,Name,Value
)idnlarx
model structure using one or more name-value arguments.
Input Arguments
Properties
Object Functions
For information about object functions for idnlarx
, see Nonlinear ARX Models.
Examples
More About
Version History
Introduced in R2007aSee Also
nlarx
| linearRegressor
| polynomialRegressor
| periodicRegressor
| customRegressor
| idnlarx/findop
| getreg
| idnlarx/linearize
| pem