Scilab 5.4.0
- Scilab help
- CACSD
- Format 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
- 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
- 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
- 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
time_id
SISO 最小二乗同定
呼出し手順
[H [,err]]=time_id(n,u,y)
パラメータ
- n
伝達関数の次元
- u
以下のどれか
- u1
システムへの入力ベクトル
- "impuls"
y はインパルス応答
- "step"
yはステップ応答.
- y
応答ベクトル.
- H
y(1)==0 の場合は分母がn次,分子がn-1次の有理関数, y(1)<>0 の場合, 分母と分子が n次の有理関数.
- err
||y - impuls(H,npt)||^2
, ただし,impuls(H,npt)
はH
のインパルス応答の最初のnpt
個の係数です.
説明
離散時間応答の同定.
y
が厳密にプロパーの場合(y(1)=0
) ,
time_id
は線形方程式に関する以下の最小二乗解
を計算します: coeff(Den,n):=1
を拘束条件とする
Den*y-Num*u=0
.
y(1)~=0
の場合,
アルゴリズムはまず解のプロパーな部分を計算した後,y(1)を
解に追加します.
例
z=poly(0,'z'); h=(1-2*z)/(z^2-0.5*z+5) rep=[0;ldiv(h('num'),h('den'),20)]; //インパルス応答 H=time_id(2,'impuls',rep) // flts および uを用いる同じ例 u=zeros(1,20);u(1)=1; rep=flts(u,tf2ss(h)); //インパルス応答 H=time_id(2,u,rep) // step response u=ones(1,20); rep=flts(u,tf2ss(h)); //ステップ応答. H=time_id(2,'step',rep) H=time_id(3,u,rep) // uを入力として指定, 高次過ぎる系を指定
参照
Report an issue | ||
<< syssize | CACSD | trzeros >> |