This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.


Class representing linear nonlinearity estimator for nonlinear ARX models




linear is an object that stores the linear nonlinearity estimator for estimating nonlinear ARX models.

lin=linear instantiates the linear object.

lin=linear('Parameters',Par) instantiates the linear object and specifies optional values in the Par structure. For more information about this structure, see linear Properties.

linear Properties

You can include property-value pairs in the constructor to specify the object.

After creating the object, you can use get or dot notation to access the object property values. For example:

% List Parameters values
% Get value of Parameters property
Property NameDescription

Structure containing the following fields:

  • LinearCoef: m-by-1 vector L.

  • OutputOffset: Scalar d.


Estimate a nonlinear ARX model using the linear estimator with custom regressors for the following system:

y(t) = a1y(t–1) + a2y(t–2) + a3u(t–1) + a4y(t–1)u(t–2) + a5|u(t)|u(t–3) + a6,

where u is the input and y is the output.

% Create regressors y(t-1), y(t-2) and u(t-1).
orders = [2 1 1]; 
% Create an idnlarx model using linear estimator with custom regressors.
model = idnlarx(orders, linear, 'InputName', 'u', 'OutputName', 'y',...
        'CustomRegressors', {'y(t-1)*u(t-2)','abs(u(t))*u(t-3)'})
% Estimate the model parameters a1, a2, ... a6.
EstimatedModel = nlarx(data, model)


The nonlinearity in the model is described by custom regressors only.


  • linear is a linear (affine) function y=F(x), defined as follows:


    y is scalar, and x is a 1-by-m vector.

  • Use evaluate(lin,x) to compute the value of the function defined by the linear object lin at x.

  • When creating a nonlinear ARX model using the constructor (idnlarx) or estimator (nlarx), you can specify a linear nonlinearity estimator using [], instead of entering linear explicitly. For example:



When the Focus option in nlarxOptions is 'prediction', linear uses a fast, noniterative initialization and iterative search technique for estimating parameters. In most cases, iterative search requires only a few iterations.

When the idnlarx property Focus='Simulation', linear uses an iterative technique for estimating parameters.

See Also


Introduced in R2007a