Skip to Main Content Skip to Search
Product Documentation

idarx - Multiple-output ARX polynomials, impulse response, or step response model

Syntax

m = idarx(A,B,Ts)
m = idarx(A,B,Ts,'Property1',Value1,...,,'PropertyN',ValueN)

Description

idarx creates an object containing parameters that describe the general multiple-input, multiple-output model structure of ARX type.

Here Ak and Bk are matrices of dimensions ny-by-ny and ny-by-nu, respectively. (ny is the number of outputs, that is, the dimension of the vector y(t), and nu is the number of inputs.)

The arguments A and B are 3-D arrays that contain the A matrices and the B matrices of the model in the following way.

A is an ny-by-ny-by-(na+1) array such that:

A(:,:,k+1) = Ak
A(:,:,1) = eye(ny)

Similarly B is an ny-by-nu-by-(nb+1) array with:

B(:,:,k+1) = Bk

Note that A always starts with the identity matrix, and that delays in the model are defined by setting the corresponding leading entries in B to zero. For a multivariate time series, take B = [].

The optional property NoiseVariance sets the covariance matrix of the driving noise source e(t) in the model above. The default value is the identity matrix.

The argument Ts is the sampling interval. Note that continuous-time models (Ts = 0) are not supported.

The use of idarx is twofold. You can use it to create models that are simulated (using sim) or analyzed (using bode, pzmap, etc.). You can also use it to define initial value models that are further adjusted to data (using arx). The free parameters in the structure are consistent with the structure of A and B; that is, leading zeros in the rows of B are regarded as fixed delays, and trailing zeros in A and B are regarded as a definition of lower-order polynomials. These zeros are fixed, while all other parameters are free.

For a model with one output, ARX models can be described both as idarx and idpoly models. The internal representation is different, however.

idarx Properties

You can set and retrieve all properties either with the set and get commands or by subscripts. Autofill applies to all properties and values, and they are case insensitive.

For a complete list of property values, use get(m). To see possible value assignments, use set(m). See also idprops idarx.

idarx Definition of States

The states of an idarx model are defined as those corresponding to the model obtained by converting them to the state-space format using the idss command. For example, if you have an idarx model defined by m1 = idarx(A,B,1), then the initial states of this model correspond to those of m2 = idss(m1). The concept of states is useful for functions such as sim, predict, compare and findstates.

Examples

Simulate a second-order ARX model with one input and two outputs, and then estimate a model using the simulated data.

A = zeros(2,2,3);
B = zeros(2,1,3)
A(:,:,1) =eye(2);
A(:,:,2) = [-1.5 0.1;-0.2 1.5];
A(:,:,3) = [0.7 -0.3;0.1 0.7];
B(:,:,2) = [1;-1];
B(:,:,3) = [0.5;1.2];
m0 = idarx(A,B,1);
u = iddata([],idinput(300));
e = iddata([],randn(300,2));
y = sim(m0,[u e]);
m = arx([y u],[[2 2;2 2],[2;2],[1;1]]);

See Also

arx | arxdata | idpoly

How To

  


Free Control Systems Interactive Kit

Learn more about resources for designing, testing, and implementing control systems.

Get free kit

Trials Available

Try the latest control systems products.

Get trial software
 © 1984-2012- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS