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.

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Linearize nonlinear ARX model

`SYS = linearize(NLSYS,U0,X0)`

`SYS = linearize(NLSYS,U0,X0)`

linearizes
a nonlinear ARX model about the specified operating point `U0`

and `X0`

.
The linearization is based on tangent linearization. For more information
about the definition of states for `idnlarx`

models,
see Definition of idnlarx States.

`NLSYS`

:`idnlarx`

model.`U0`

: Matrix containing the constant input values for the model.`X0`

: Model state values. The states of a nonlinear ARX model are defined by the time-delayed samples of input and output variables. For more information about the states of nonlinear ARX models, see the`getDelayInfo`

reference page.

To estimate `U0`

and `X0`

from
operating point specifications, use the `findop`

command.

`SYS`

is an`idss`

model.When the Control System Toolbox™ product is installed,

`SYS`

is an LTI object.

The following equations govern the dynamics of an `idnlarx`

model:

$$\begin{array}{l}X(t+1)=AX(t)+B\tilde{u}(t)\\ y(t)=f(X,u)\end{array}$$

where *X*(*t*)
is a state vector, *u*(*t*) is the
input, and *y*(*t*) is the output. *A* and *B* are
constant matrices. $$\tilde{u}(t)$$ is [*y*(*t*), *u*(*t*)]* ^{T}*.

The output at the operating point is given by

*y** = *f*(*X**, *u**)

where *X** and *u** are the
state vector and input at the operating point.

The linear approximation of the model response is as follows:

$$\begin{array}{l}\Delta X(t+1)=(A+{B}_{1}{f}_{X})\Delta X(t)+({B}_{1}{f}_{u}+{B}_{2})\Delta u(t)\\ \Delta y(t)={f}_{X}\Delta X(t)+{f}_{u}\Delta u(t)\end{array}$$

where

$$\Delta X(t)=X(t)-{X}^{*}(t)$$

$$\Delta u(t)=u(t)-{u}^{*}(t)$$

$$\Delta y(t)=y(t)-{y}^{*}(t)$$

$$B\tilde{U}=[{B}_{1},{B}_{2}]\left[\begin{array}{c}Y\\ U\end{array}\right]={B}_{1}Y+{B}_{2}U$$

$${{f}_{X}=\frac{\partial}{\partial X}f(X,U)|}_{X*,U*}$$

$${{f}_{U}=\frac{\partial}{\partial U}f(X,U)|}_{X*,U*}$$

For linear approximations over larger input ranges, use `linapp`

.