- Manual Scilab
- CACSD
- black
- bode
- chart
- evans
- gainplot
- m_circle
- nyquist
- routh_t
- sgrid
- zgrid
- abcd
- abinv
- arhnk
- arl2
- arma
- arma2p
- armac
- armax
- armax1
- arsimul
- augment
- balreal
- bilin
- bstap
- cainv
- calfrq
- canon
- ccontrg
- cls2dls
- colinout
- colregul
- cont_frm
- cont_mat
- contr
- contrss
- copfac
- csim
- ctr_gram
- dbphi
- dcf
- ddp
- des2ss
- des2tf
- dhinf
- dhnorm
- dscr
- dsimul
- dt_ility
- dtsi
- equil
- equil1
- feedback
- findABCD
- findAC
- findBD
- findBDK
- findR
- findx0BD
- flts
- fourplan
- frep2tf
- freq
- freson
- fspecg
- fstabst
- g_margin
- gamitg
- gcare
- gfare
- gfrancis
- gtild
- h2norm
- h_cl
- h_inf
- h_inf_st
- h_norm
- hallchart
- hankelsv
- hinf
- imrep2ss
- inistate
- invsyslin
- kpure
- krac2
- lcf
- leqr
- lft
- lin
- linf
- linfn
- linmeq
- lqe
- lqg
- lqg2stan
- lqg_ltr
- lqr
- ltitr
- macglov
- markp2ss
- minreal
- minss
- mucomp
- narsimul
- nehari
- nicholschart
- noisegen
- obs_gram
- obscont
- observer
- obsv_mat
- obsvss
- p_margin
- parrot
- pfss
- phasemag
- ppol
- prbs_a
- projsl
- reglin
- repfreq
- ric_desc
- ricc
- riccati
- rowinout
- rowregul
- rtitr
- sensi
- show_margins
- sident
- sm2des
- sm2ss
- sorder
- specfact
- ss2des
- ss2ss
- ss2tf
- st_ility
- stabil
- svplot
- sysfact
- syssize
- tf2des
- tf2ss
- 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
augment
augmented plant
Calling Sequence
[P,r]=augment(G) [P,r]=augment(G,flag1) [P,r]=augment(G,flag1,flag2)
Arguments
- G
linear system (
syslin
list), the nominal plant- flag1
one of the following (upper case) character string:
'S'
,'R'
,'T'
'SR'
,'ST'
,'RT'
'SRT'
- flag2
one of the following character string:
'o'
(stands for 'output', this is the default value) or'i'
(stands for 'input').- P
linear system (
syslin
list), the ``augmented'' plant- r
1x2 row vector, dimension of
P22 = G
Description
If flag1='SRT'
(default value), returns the "full" augmented plant
[ I | -G] -->'S' [ 0 | I] -->'R' P = [ 0 | G] -->'T' [-------] [ I | -G]
'S'
, 'R'
, 'T'
refer to the first three (block) rows
of P
respectively.
If one of these letters is absent in flag1
, the corresponding
row in P
is missing.
If G
is given in state-space form, the returned P
is minimal.
P
is calculated by: [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]
is obtained by the command [P,r]=augment(G,flag,'i')
. For
state-space G
, this P
is calculated by: [I,-I;0,0;0,I;0,0]+[0;I;0;I]*G*[I,-I]
and is thus generically minimal.
Note that weighting functions can be introduced by left-multiplying
P
by a diagonal system of appropriate dimension, e.g.,
P = sysdiag(W1,W2,W3,eye(G))*P
.
Sensitivity functions can be calculated by lft
. One has:
For output sensitivity functions [P,r]=augment(P,'SRT'): lft(P,r,K)=[inv(eye()+G*K);K*inv(eye()+G*K);G*K*inv(eye()+G*K)];
For input sensitivity functions [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)];
Examples
G=ssrand(2,3,2); //Plant K=ssrand(3,2,2); //Compensator [P,r]=augment(G,'T'); T=lft(P,r,K); //Complementary sensitivity function 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); //Input Complementary sensitivity function Oloop=Ktf*Gtf; T1n=Oloop*inv(eye(Oloop)+Oloop); clean(T1tf(1,1)-T1n(1,1))
<< arsimul | CACSD | balreal >> |