Polynomial Sizes and Orders of Multi-Output Polynomial Models
For a model with Ny (Ny > 1
)
outputs and Nu inputs, the polynomials A, B, C, D,
and F are specified as cell arrays of row vectors.
Each entry in the cell array contains the coefficients of a particular
polynomial that relates input, output, and noise values. Orders are
matrices of integers used as input arguments to the estimation commands.
Polynomial | Dimension | Relation Described | Orders |
---|---|---|---|
A | Ny-by-Ny array of row vectors | A{i,j} contains coefficients of relation
between output yi and output yj | na : Ny-by-Ny matrix
such that each entry contains the degree of the corresponding A polynomial. |
B | Ny-by-Nu array of row vectors | B{i,j} contain coefficients of relations
between output yi and input uj |
|
C,D | Ny-by-1 array of row vectors | C{i} and D{i} contain
coefficients of relations between output yi and
noise ei |
|
F | Ny-by-Nu array of row vectors | F{i,j} contains coefficients of relations
between output yi and input uj | nf : Ny-by-Nu matrix
such that each entry contains the degree of the corresponding F polynomial. |
For more information, see idpoly
.
For example, consider the ARMAX set of equations for a 2 output, 1 input model:
y1 andy2 represent
the two outputs and u represents the input variable. e1 and e2 represent
the white noise disturbances on the outputs, y1 and y2,
respectively. To represent these equations as an ARMAX form polynomial
using idpoly
, configure the A, B,
and C polynomials as follows:
A = cell(2,2); A{1,1} = [1 0.5]; A{1,2} = [0 0.9 0.1]; A{2,1} = [0]; A{2,2} = [1 0.05 0.3]; B = cell(2,1); B{1,1} = [1 5 2]; B{2,1} = [0 0 10]; C = cell(2,1); C{1} = [1 0.01]; C{2} = [1 0.1 0.02]; model = idpoly(A,B,C)
model = Discrete-time ARMAX model: Model for output number 1: A(z)y_1(t) = - A_i(z)y_i(t) + B(z)u(t) + C(z)e_1(t) A(z) = 1 + 0.5 z^-1 A_2(z) = 0.9 z^-1 + 0.1 z^-2 B(z) = 1 + 5 z^-1 + 2 z^-2 C(z) = 1 + 0.01 z^-1 Model for output number 2: A(z)y_2(t) = B(z)u(t) + C(z)e_2(t) A(z) = 1 + 0.05 z^-1 + 0.3 z^-2 B(z) = 10 z^-2 C(z) = 1 + 0.1 z^-1 + 0.02 z^-2 Sample time: unspecified Parameterization: Polynomial orders: na=[1 2;0 2] nb=[3;1] nc=[1;2] nk=[0;2] Number of free coefficients: 12 Use "polydata", "getpvec", "getcov" for parameters and their uncertainties. Status: Created by direct construction or transformation. Not estimated.
model
is a discrete-time ARMAX model with unspecified sample-time. When estimating such models, you need to specify the orders of these polynomials as input arguments.
In the System Identification app, you can enter the matrices directly in the Orders field.
At the command line, define variables that store the model order matrices and specify these variables in the model-estimation command.
Tip
To simplify entering large matrices orders in the System Identification
app, define the variable NN=[NA NB NK]
at the command
line. You can specify this variable in the Orders field.
See Also
idpoly
| ar
| arx
| bj
| oe
| armax
| polyest