~ubuntu-branches/ubuntu/karmic/scilab/karmic

« back to all changes in this revision

Viewing changes to man/robust/augment.cat

  • Committer: Bazaar Package Importer
  • Author(s): Torsten Werner
  • Date: 2002-03-21 16:57:43 UTC
  • Revision ID: james.westby@ubuntu.com-20020321165743-e9mv12c1tb1plztg
Tags: upstream-2.6
ImportĀ upstreamĀ versionĀ 2.6

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
augment           Scilab Group           Scilab Function            augment
 
2
NAME
 
3
   augment - augmented plant
 
4
  
 
5
CALLING SEQUENCE
 
6
 [P,r]=augment(G)
 
7
 [P,r]=augment(G,flag1)
 
8
 [P,r]=augment(G,flag1,flag2)
 
9
PARAMETERS
 
10
 G    : linear system (syslin list), the nominal plant
 
11
      
 
12
 flag1
 
13
       : one of the following (upper case) character string:  'S' ,  'R' ,  'T' 
 
14
       'SR' ,  'ST' ,  'RT'   'SRT' 
 
15
      
 
16
 flag2
 
17
       : one of the following character string:  'o'  (stands for 'output', this
 
18
      is the default value) or 'i' (stands for 'input').
 
19
      
 
20
 P    : linear system (syslin list), the ``augmented'' plant
 
21
      
 
22
 r    : 1x2 row vector, dimension of P22 = G
 
23
      
 
24
DESCRIPTION
 
25
   If flag1='SRT' (default value), returns the "full" augmented plant
 
26
  
 
27
     [ I | -G]   -->'S'
 
28
     [ 0 |  I]   -->'R'
 
29
 P = [ 0 |  G]   -->'T'
 
30
     [-------]
 
31
     [ I | -G]
 
32
    'S' ,  'R' ,  'T'  refer to the first three (block) rows of P
 
33
  respectively.
 
34
  
 
35
   If one of these letters is absent in flag1, the corresponding row in P is
 
36
  missing.
 
37
  
 
38
   If G is given in state-space form, the returned P is minimal. P is
 
39
  calculated by: [I,0,0;0,I,0;-I,0,I;I,0,0]*[I,-G;0,I;I,0].
 
40
  
 
41
   The augmented plant associated with input sensitivity functions, namely
 
42
  
 
43
     [ I | -I]   -->'S'  (input sensitivity)
 
44
     [ G | -G]   -->'R'  (G*input sensitivity)
 
45
 P = [ 0 |  I]   -->'T'  (K*G*input sensitivity)
 
46
     [-------]
 
47
     [ G | -G]
 
48
   is obtained by the command [P,r]=augment(G,flag,'i'). For state-space G,
 
49
  this P is calculated by: [I,-I;0,0;0,I;0,0]+[0;I;0;I]*G*[I,-I] and is
 
50
  thus generically minimal.
 
51
  
 
52
   Note that weighting functions can be introduced by left-multiplying P by
 
53
  a diagonal system of appropriate dimension, e.g.,  P =
 
54
  sysdiag(W1,W2,W3,eye(G))*P.
 
55
  
 
56
   Sensitivity functions can be calculated by lft. One has:
 
57
  
 
58
   For output sensitivity functions [P,r]=augment(P,'SRT'):
 
59
  lft(P,r,K)=[inv(eye()+G*K);K*inv(eye()+G*K);G*K*inv(eye()+G*K)];
 
60
  
 
61
   For input sensitivity functions [P,r]=augment(P,'SRT','i'):
 
62
  lft(P,r,K)=[inv(eye()+K*G);G*inv(eye()+K*G);K*G*inv(eye()+G*K)];
 
63
  
 
64
EXAMPLE
 
65
 G=ssrand(2,3,2); //Plant
 
66
 K=ssrand(3,2,2); //Compensator
 
67
 [P,r]=augment(G,'T');
 
68
 T=lft(P,r,K);   //Complementary sensitivity function
 
69
 Ktf=ss2tf(K);Gtf=ss2tf(G);
 
70
 Ttf=ss2tf(T);T11=Ttf(1,1);
 
71
 Oloop=Gtf*Ktf;
 
72
 Tn=Oloop*inv(eye(Oloop)+Oloop);
 
73
 clean(T11-Tn(1,1));
 
74
 //
 
75
 [Pi,r]=augment(G,'T','i');
 
76
 T1=lft(Pi,r,K);T1tf=ss2tf(T1); //Input Complementary sensitivity function
 
77
 Oloop=Ktf*Gtf;
 
78
 T1n=Oloop*inv(eye(Oloop)+Oloop);
 
79
 clean(T1tf(1,1)-T1n(1,1))
 
80
SEE ALSO
 
81
   lft, sensi 
 
82