polyest
Estimate polynomial model using time- or frequency-domain data
Syntax
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)
[sys,ic] = polyest(___)
Description
estimates
a polynomial model, sys
= polyest(data
,[na
nb
nc
nd
nf
nk
])sys
,
using the time- or frequency-domain data, data
.
sys
is of the form
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.
[
returns the estimated initial conditions as an sys
,ic
] = polyest(___)initialCondition
object. Use this syntax if you plan to simulate or
predict the model response using the same estimation input data and then compare the
response with the same estimation output data. Incorporating the initial conditions
yields a better match during the first part of the simulation.
Input Arguments
|
Estimation data. For time-domain estimation, You can estimate only discrete-time models using time-domain
data. For estimating continuous-time models using time-domain data,
see For frequency-domain 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 |
Name-Value Arguments
Specify optional pairs of arguments as
Name1=Value1,...,NameN=ValueN
, where Name
is
the argument name and Value
is the corresponding value.
Name-value arguments must appear after other arguments, but the order of the
pairs does not matter.
Before R2021a, use commas to separate each name and value, and enclose
Name
in quotes.
|
Transport delays. For continuous-time 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 continuous-time 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 Where, 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); |
Output Arguments
|
Polynomial model, returned as an If Y(s), U(s) and E(s) are the Laplace transforms of the time-domain 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Estimated initial conditions, returned as an
If opt = polyestOptions('InitialCondition','estimate') [sys,ic] = polyest(data,[nb nc nd nf nk],opt) 'auto' setting of
'InitialCondition' uses the 'zero'
method when the initial conditions have a negligible effect on the overall
estimation-error minimization process. Specifying
'estimate' ensures that the software estimates values
for ic .
For more information, see |
Examples
Tips
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
andnf
to zero to simplify the model structure.For example, you can estimate an Output-Error (OE) model by specifying
na
,nc
andnd
as zero.Alternatively, you can use a dedicated estimating function for the simplified model structure. Linear polynomial estimation functions include
oe
,bj
,arx
andarmax
.
Alternatives
To estimate a polynomial model using time-series 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, usearx
. Other polynomial model estimating functions include,oe
,armax
, andbj
.To estimate a continuous-time transfer function, use
tfest
. You can also useoe
, but only with continuous-time frequency-domain data.