Estimate polynomial model using time or frequencydomain data
sys = polyest(data,[na nb nc nd nf nk])
sys = polyest(data,[na nb nc nd nf nk],Name,Value)
sys = polyest(data,init_sys)
sys = polyest(___, opt)
estimates
a polynomial model, sys
= polyest(data
,[na
nb
nc
nd
nf
nk
])sys
,
using the time or frequencydomain data, data
.
sys
is of the form
$$A(q)y(t)=\frac{B(q)}{F(q)}u(tnk)+\frac{C(q)}{D(q)}e(t)$$
A(q), B(q), F(q), C(q)
and D(q) are polynomial matrices. u(t)
is the input, and nk
is the input delay. y(t)
is the output and e(t) is the
disturbance signal. na
,nb
, nc
, nd
and nf
are
the orders of the A(q), B(q), C(q), D(q)
and F(q) polynomials, respectively.
estimates
a polynomial model with additional attributes of the estimated model
structure specified by one or more sys
= polyest(data
,[na
nb
nc
nd
nf
nk
],Name,Value
)Name,Value
pair
arguments.
estimates
a polynomial model using the linear system sys
= polyest(data
,init_sys
)init_sys
to
configure the initial parameterization.
estimates
a polynomial model using the option set, sys
= polyest(___, opt
)opt
,
to specify estimation behavior.

Estimation data. For timedomain estimation, You can estimate only discretetime models using timedomain
data. For estimating continuoustime models using timedomain data,
see For frequencydomain estimation,


Order of the polynomial A(q).


Order of the polynomial B(q) + 1.


Order of the polynomial C(q).


Order of the polynomial D(q).


Order of the polynomial F(q).


Input delay in number of samples, expressed as fixed leading zeros of the B polynomial.


Estimation options.


Linear system that configures the initial parameterization of You obtain If Use the
If If 
Specify optional commaseparated 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
.

Transport delays. For continuoustime systems, specify transport delays in the
time unit stored in the For a MIMO system with Default: 

Input delay for each input channel, specified as a scalar value
or numeric vector. For continuoustime systems, specify input delays
in the time unit stored in the For a system with You can also set Default: 0 

Logical vector specifying integrators in the noise channel.
Setting $$A(q)y(t)=\frac{B(q)}{F(q)}u(tnk)+\frac{C(q)}{D(q)}\frac{e(t)}{1{q}^{1}}$$ Where, $$\frac{1}{1{q}^{1}}$$ is the integrator in the noise channel, e(t). Use For example, load iddata1 z1; z1 = iddata(cumsum(z1.y),cumsum(z1.u),z1.Ts,'InterSample','foh'); sys = polyest(z1, [2 2 2 0 0 1],'IntegrateNoise',true); 

Polynomial model, returned as an If $$Y(s)=\frac{B(s)}{F(s)}U(s)+E(s)$$ Y(s), U(s) and E(s) are the Laplace transforms of the timedomain signals y(t), u(t) and e(t), respectively. Information about the estimation results and options used is
stored in the
For more information on using 
In most situations, all the polynomials of an identified
polynomial model are not simultaneously active. Set one or more of
the orders na
, nc
, nd
and nf
to
zero to simplify the model structure.
For example, you can estimate an OutputError (OE) model by
specifying na
, nc
and nd
as
zero.
Alternatively, you can use a dedicated estimating function for
the simplified model structure. Linear polynomial estimation functions
include oe
, bj
, arx
and armax
.
To estimate a polynomial model using timeseries data,
use ar
.
Use polyest
to estimate a polynomial
of arbitrary structure. If the structure of the estimated polynomial
model is known, that is, you know which polynomials will be active,
then use the appropriate dedicated estimating function. For examples,
for an ARX model, use arx
. Other
polynomial model estimating functions include, oe
, armax
, and bj
.
To estimate a continuoustime transfer function, use tfest
. You can also use oe
, but only with continuoustime frequencydomain
data.
ar
 armax
 arx
 bj
 forecast
 iddata
 idpoly
 oe
 pem
 polyestOptions
 procest
 ssest
 tfest