Main Content

Linear mapping object for nonlinear ARX models

A `linear`

object implements an affine function, and is a mapping
function for estimating nonlinear ARX models. The mapping function uses a combination of
linear weights and an offset. Unlike the other mapping objects for the nonlinear models, the
`linear`

object contains no accommodation for a nonlinear
component.

Mathematically, `linear`

is a linear function $$y=F(x)$$ that maps *m* inputs
*X*(*t*) =
[*x*(*t*_{1}),*x*_{2}(*t*),…,*x _{m}*(

$$y(t)={y}_{0}+{({\rm X}(t)-\overline{X})}^{T}PL$$

Here:

*X*(*t*) is an*m*-by-1 vector of inputs, or*regressors*, with mean $$\overline{{\rm X}}$$.*y*is the output offset, a scalar._{0}*P*is an*m*-by-*p*projection matrix, where*m*is the number of regressors and is*p*is the number of linear weights.*m*must be greater than or equal to*p*.*L*is a*p*-by-1 vector of weights.

Set `linear`

as the value of the `OutputFcn`

property of
an `idnlarx`

model. For example, specify `linear`

when you estimate an
`idnlarx`

model with the following
command.

sys = nlarx(data,regressors,linear)

`nlarx`

estimates the model, it also estimates the parameters of the
`linear`

function.
Use the `linear`

mapping object when you want to create nonlinear ARX
models that operate linearly on the regressors. The regressors themselves can be nonlinear
functions of the inputs and outputs. The `polynomialRegressor`

and `customRegressor`

commands allow you to create such regressors. When the `idnlarx`

model has no
custom regressors and the output function is set to `linear`

, the model is
similar to a linear ARX model. However, for the nonlinear ARX model, the offset is an
estimable parameter.

You can configure the `linear`

object to disable components and fix
parameters. Use `evaluate`

to compute the output of the function for
a given vector of inputs.

creates a
`Lin`

= linear`linear`

object `Lin`

with unknown parameters.

`customnet`

| `evaluate`

| `idnlarx`

| `linearRegressor`

| `neuralnet`

| `nlarx`

| `polynomialRegressor`

| `sigmoidnet`

| `treepartition`

| `wavenet`