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
lqe
線形二次推定器 (カルマンフィルタ)
呼出し手順
[K,X]=lqe(P21)
パラメータ
- P21
syslin
リスト- K, X
実数行列
説明
lqe
は,
連続または離散時間系のフィルタ問題に関する
カルマンゲインを返します.
P21
は
システム P21=[A,B1,C2,D21] P21=syslin('c',A,B1,C2,D21) または
P21=syslin('d',A,B1,C2,D21)
を表す
syslin
リストです.
P21
への入力は, 白色ノイズで分散は以下となります:
[B1 ] [Q S] BigV=[ ] [ B1' D21'] = [ ] [D21] [S' R]
X
は安定化リカッチ方程式の解,
A+K*C2
は安定となります.
連続時間系において:
K=-(X*C2'+S)*inv(R)
離散時間系において:
X=A*X*A'-(A*X*C2'+B1*D21')*pinv(C2*X*C2'+D21*D21')*(C2*X*A'+D21*B1')+B1*B1'
K=-(A*X*C2'+B1*D21')*pinv(C2*X*C2'+D21*D21')
xhat(t+1)= E(x(t+1)| y(0),...,y(t))
(1ステップ予測した x
)
は以下の再帰的関係を満たします:
xhat(t+1)=(A+K*C2)*xhat(t) - K*y(t).
例
//Assume the equations //. //x = Ax + Ge //y = Cx + v //with //E ee' = Q_e, Evv' = R, Eev' = N // //This is equivalent to //. //x = Ax + B1 w //y = C2x + D21 w //with E { [Ge ] [Ge v]' } = E { [B1w ] [B1w D21w]' } = bigR = // [ v ] [D21w] // //[B1*B1' B1*D21'; // D21*B1' D21*D21'] //= //[G*Q_e*G' G*N; // N*G' R] //To find (B1,D21) given (G,Q_e,R,N) form bigR =[G*Q_e*G' G*N;N'*G' R]. //Then [W,Wt]=fullrf(bigR); B1=W(1:size(G,1),:); //D21=W(($+1-size(C2,1)):$,:) // //P21=syslin('c',A,B1,C2,D21); //[K,X]=lqe(P21); //Example: nx=5;ne=2;ny=3; A=-diag(1:nx);G=ones(nx,ne); C=ones(ny,nx); Q_e(ne,ne)=1; R=diag(1:ny); N=zeros(ne,ny); bigR =[G*Q_e*G' G*N;N'*G' R]; [W,Wt]=fullrf(bigR);B1=W(1:size(G,1),:); D21=W(($+1-size(C,1)):$,:); C2=C; P21=syslin('c',A,B1,C2,D21); [K,X]=lqe(P21); //Riccati check: S=G*N;Q=B1*B1'; (A-S*inv(R)*C2)*X+X*(A-S*inv(R)*C2)'-X*C2'*inv(R)*C2*X+Q-S*inv(R)*S' //Stability check: spec(A+K*C)
Report an issue | ||
<< linmeq | CACSD | lqg >> |