sys = arx(data,[na
nb nk]) sys = arx(data,[na
nb nk],Name,Value) sys = arx(data,[na
nb nk],___,opt)

Description

Note:arx does not support continuous-time estimations.
Use tfest instead.

sys = arx(data,[na
nb nk]) returns an ARX structure polynomial
model, sys, with estimated parameters and covariances
(parameter uncertainties) using the least-squares method and specified orders.

sys = arx(data,[na
nb nk],Name,Value) estimates
a polynomial model with additional options specified by one or more Name,Value pair
arguments.

sys = arx(data,[na
nb nk],___,opt) specifies
estimation options that configure the estimation objective, initial
conditions and handle input/output data offsets.

Input Arguments

data

Estimation data.

Specify data as an iddata object,
an frd object, or an idfrd frequency-response-data
object.

[na nb nk]

Polynomial orders.

[na nb nk] define the polynomial orders
of an ARX model.

na — Order of the polynomial A(q).

Specify na as an Ny-by-Ny matrix
of nonnegative integers. Ny is the number of outputs.

nb — Order of the polynomial B(q)
+ 1.

nb is an Ny-by-Nu matrix
of nonnegative integers. Ny is the number of outputs
and Nu is the number of inputs.

nk — Input-output delay
expressed as fixed leading zeros of the B polynomial.

Specify nk as an Ny-by-Nu matrix
of nonnegative integers. Ny is the number of outputs
and Nu is the number of inputs.

opt

Estimation options.

opt is an options set that specifies estimation
options, including:

Specify optional comma-separated pairs of Name,Value arguments.
Name is the argument
name and Value is the corresponding
value. Name must appear
inside single quotes (' ').
You can specify several name and value pair
arguments in any order as Name1,Value1,...,NameN,ValueN.

'InputDelay'

Input delays. InputDelay is a numeric vector
specifying a time delay for each input channel. Specify input delays
in integer multiples of the sampling period Ts.
For example, InputDelay = 3 means a delay of three
sampling periods.

For a system with Nu inputs, set InputDelay to
an Nu-by-1 vector, where each entry is a numerical
value representing the input delay for the corresponding input channel.
You can also set InputDelay to a scalar value to
apply the same delay to all channels.

Default: 0 for all input channels

'ioDelay'

Transport delays. ioDelay is a numeric array
specifying a separate transport delay for each input/output pair.

Specify transport delays as integers denoting delay of a multiple
of the sampling period Ts.

For a MIMO system with Ny outputs and Nu inputs,
set ioDelay to a Ny-by-Nu array,
where each entry is a numerical value representing the transport delay
for the corresponding input/output pair. You can also set ioDelay to
a scalar value to apply the same delay to all input/output pairs.
Useful as a replacement for the nk order, you can
factor out max(nk-1,0) lags as the ioDelay value.

Default: 0 for all input/output pairs

'IntegrateNoise'

Specify integrators in the noise channels.

Adding an integrator creates an ARIX model represented by:

where, is the integrator
in the noise channel, e(t).

IntegrateNoise is a logical vector of length Ny,
where Ny is the number of outputs.

Default: false(Ny,1), where Ny is
the number of outputs

Output Arguments

sys

Identified ARX structure polynomial model.

sys is a discrete-time idpoly model, which encapsulates the estimated A and B polynomials
and the parameter covariance information.

Generate input data based on a specified ARX
model, and then use this data to estimate an ARX model.

A = [1 -1.5 0.7]; B = [0 1 0.5];
m0 = idpoly(A,B);
u = iddata([],idinput(300,'rbs'));
e = iddata([],randn(300,1));
y = sim(m0, [u e]);
z = [y,u];
m = arx(z,[2 2 1]);

For time-domain data, the signals are shifted such that unmeasured
signals are never required in the predictors. Therefore, there is
no need to estimate initial conditions.

For frequency-domain data, it might be necessary to adjust the
data by initial conditions that support circular convolution.

Set the InitialCondition estimation option
(see arxOptions) to one the
following values:

'zero' — No adjustment.

'estimate' — Perform adjustment
to the data by initial conditions that support circular convolution.

'auto' — Automatically choose
between 'zero' and 'estimate' based
on the data.

QR factorization solves the overdetermined set of linear equations
that constitutes the least-squares estimation problem.

The regression matrix is formed so that only measured quantities
are used (no fill-out with zeros). When the regression matrix is larger
than MaxSize, data is segmented and QR factorization
is performed iteratively on these data segments.

Without regularization, the ARX model parameters vector θ
is estimated by solving the normal equation:

where J is the regressor matrix and y is
the measured output. Therefore,

.

Using regularization adds a regularization term:

where, λ and R are the regularization constants. See arxOptions for more information on the
regularization constants.