- Scilab help
- CACSD (Computer Aided Control Systems Design)
- Formal representations and conversions
- Plot and display
- abinv
- arhnk
- arl2
- arma
- arma2p
- arma2ss
- armac
- armax
- armax1
- arsimul
- augment
- balreal
- bilin
- bstap
- cainv
- calfrq
- canon
- ccontrg
- cls2dls
- colinout
- colregul
- cont_mat
- contr
- contrss
- copfac
- csim
- ctr_gram
- damp
- dcf
- ddp
- dhinf
- dhnorm
- dscr
- dsimul
- dt_ility
- dtsi
- equil
- equil1
- feedback
- findABCD
- findAC
- findBD
- findBDK
- findR
- findx0BD
- flts
- fourplan
- freq
- freson
- fspec
- fspecg
- fstabst
- g_margin
- gamitg
- gcare
- gfare
- gfrancis
- gtild
- h2norm
- h_cl
- h_inf
- h_inf_st
- h_norm
- hankelsv
- hinf
- imrep2ss
- inistate
- invsyslin
- kpure
- krac2
- lcf
- leqr
- lft
- lin
- linf
- linfn
- linmeq
- lqe
- lqg
- lqg2stan
- lqg_ltr
- lqr
- ltitr
- macglov
- minreal
- minss
- mucomp
- narsimul
- nehari
- noisegen
- nyquistfrequencybounds
- obs_gram
- obscont
- observer
- obsv_mat
- obsvss
- p_margin
- parrot
- pfss
- phasemag
- plzr
- pol2des
- ppol
- prbs_a
- projsl
- reglin
- repfreq
- ric_desc
- ricc
- riccati
- routh_t
- rowinout
- rowregul
- rtitr
- sensi
- sident
- sorder
- specfact
- ssprint
- st_ility
- stabil
- sysfact
- syslin
- syssize
- time_id
- trzeros
- ui_observer
- unobs
- zeropen
Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
armax1
armax identification
Calling Sequence
[arc,resid]=armax1(r,s,q,y,u [,b0f])
Arguments
- y
output signal
- u
input signal
- r,s,q
auto regression orders with r >=0, s >=-1.
- b0f
optional parameter. Its default value is 0 and it means that the coefficient b0 must be identified. if bof=1 the b0 is supposed to be zero and is not identified
- arc
is tlist with type "ar" and fields a, b, d, ny, nu, sig
- a
is the vector
[1,a1,...,a_r]
- b
is the vector
[b0,......,b_s]
- d
is the vector
[1,d1,....,d_q]
- sig
resid=[ sig*echap(1),....,];
Description
armax1 is used to identify the coefficients of a 1-dimensional ARX process:
A(z^-1)y= B(z^-1)u + D(z^-1)sig*e(t) e(t) is a 1-dimensional white noise with variance 1. A(z)= 1+a1*z+...+a_r*z^r; ( r=0 => A(z)=1) B(z)= b0+b1*z+...+b_s z^s ( s=-1 => B(z)=0) D(z)= 1+d1*z+...+d_q*z^q ( q=0 => D(z)=1)
for the method, see Eykhoff in trends and progress in system identification) page 96. with
z(t)=[y(t-1),..,y(t-r),u(t),..., u(t-s),e(t-1),...,e(t-q)]
and
coef= [-a1,..,-ar,b0,...,b_s,d1,...,d_q]' y(t)= coef'* z(t) + sig*e(t).
a sequential version of the AR estimation where e(t-i) is replaced by an estimated value is used (RLLS). With q=0 this method is exactly a sequential version of armax
Examples
a = [1, -2.851, 2.717, -0.865]; b = [0, 1, 1, 1]; d = [1, 0.7, 0.2]; ar = armac(a, b, d, 1, 1, 1); disp(_("Simulation of an ARMAX process:")); disp(ar); n = 300; u = -prbs_a(n, 1, int([2.5,5,10,17.5,20,22,27,35]*100/12)); zd = narsimul(ar, u); // using now armax1 : coloured noise identification // you can test the same example with [arc1, resid] = armax1(3,3,2,zd(1:n),u,1); disp(arc1);
Important notice
In Scilab versions up to 4.1.2 the returned value in
arc.sig
is the square of sig
square. To be conform with the help, the display of arma models
and the armax function, starting from Scilab-5.0 version the
returned arc.sig
is sig
.
Report an issue | ||
<< armax | CACSD (Computer Aided Control Systems Design) | arsimul >> |