1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
augment(5) Scilab Function augment(5)
NAME
augment - augmented plant
CALLING SEQUENCE
[P,r]=augment(G)
[P,r]=augment(G,flag1)
[P,r]=augment(G,flag1,flag2)
PARAMETERS
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 respec-
tively.
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 calcu-
lated 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)];
EXAMPLE
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);
Tn=Gtf*Ktf*inv(eye+Gtf*Ktf);
clean(T11-Tn(1,1));
//
[Pi,r]=augment(G,'T','i');
T1=lft(Pi,r,K);T1tf=ss2tf(T1); //Input Complementary sensitivity function
T1n=Ktf*Gtf*inv(eye+Ktf*Gtf);
clean(T1tf(1,1)-T1n(1,1))
SEE ALSO
lft, sensi
|