- Scilab help
- CACSD
- 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
- 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
- fspec
Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
augment
拡張プラント
呼び出し手順
[P,r]=augment(G) [P,r]=augment(G,flag1) [P,r]=augment(G,flag1,flag2)
パラメータ
- G
線形システム (
syslin
リスト), ノミナルプラント- flag1
以下の文字(大文字)の一つ:
'S'
,'R'
,'T'
'SR'
,'ST'
,'RT'
'SRT'
- flag2
以下の文字の一つ:
'o'
(出力'output'を意味する, これがデフォルト値) または'i'
(入力'input'を意味する).- P
線形システム (
syslin
リスト), ``拡張''プラント- r
1x2 行ベクトル,
P22 = G
の次元
説明
flag1='SRT'
(デフォルト値)の場合,以下の"完全な" 拡張プラントを返します:
[ I | -G] -->'S' [ 0 | I] -->'R' P = [ 0 | G] -->'T' [-------] [ I | -G
'S'
, 'R'
, 'T'
は,それぞれ,P
の最初の3つの(ブロック)行を指します.
flag1
の中にこれらの3文字のどれかが欠けた場合,
P
の対応する行がなくなります.
G
が状態空間形式で指定された場合,
戻り値 P
は最小実現になります.
P
は以下のように計算されます: [I,0,0;0,I,0;-I,0,I;I,0,0]*[I,-G;0,I;I,0]
.
入力感度関数に関連した拡張プラント,つまり, The augmented plant associated with input sensitivity functions, namely
[ I | -I] -->'S' (input sensitivity) [ G | -G] -->'R' (G*input sensitivity) P = [ 0 | I] -->'T' (K*G*input sensitivity) [-------] [ G | -G]
は,コマンド[P,r]=augment(G,flag,'i')
により得られます.
状態空間をG
とすると,
この P
は以下のように計算されます:
[I,-I;0,0;0,I;0,0]+[0;I;0;I]*G*[I,-I]
,
よって,一般に最小実現となります.
重み関数は,
P = sysdiag(W1,W2,W3,eye(G))*P
のように
P
に適当な次元の対角システムを
左から乗じることにより得られます.
感度関数はlft
により計算することができます.
出力感度関数 [P,r]=augment(P,'SRT') の場合: lft(P,r,K)=[inv(eye()+G*K);K*inv(eye()+G*K);G*K*inv(eye()+G*K)];
入力感度関数の場合 [P,r]=augment(P,'SRT','i'): lft(P,r,K)=[inv(eye()+K*G);G*inv(eye()+K*G);K*G*inv(eye()+G*K)];
例
G=ssrand(2,3,2); //プラント K=ssrand(3,2,2); //補償器 [P,r]=augment(G,'T'); T=lft(P,r,K); //相補感度関数 Ktf=ss2tf(K);Gtf=ss2tf(G); Ttf=ss2tf(T);T11=Ttf(1,1); Oloop=Gtf*Ktf; Tn=Oloop*inv(eye(Oloop)+Oloop); clean(T11-Tn(1,1)); // [Pi,r]=augment(G,'T','i'); T1=lft(Pi,r,K);T1tf=ss2tf(T1); //入力相補感度関数 Oloop=Ktf*Gtf; T1n=Oloop*inv(eye(Oloop)+Oloop); clean(T1tf(1,1)-T1n(1,1))
Report an issue | ||
<< arsimul | CACSD | balreal >> |