File: sensi.cat

package info (click to toggle)
scilab 2.6-4
  • links: PTS
  • area: non-free
  • in suites: woody
  • size: 54,632 kB
  • ctags: 40,267
  • sloc: ansic: 267,851; fortran: 166,549; sh: 10,005; makefile: 4,119; tcl: 1,070; cpp: 233; csh: 143; asm: 135; perl: 130; java: 39
file content (44 lines) | stat: -rw-r--r-- 1,407 bytes parent folder | download
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
sensi            Scilab Group            Scilab Function              sensi
NAME
   sensi - sensitivity functions
  
CALLING SEQUENCE
 [Se,Re,Te]=sensi(G,K)
 [Si,Ri,Ti]=sensi(G,K,flag)
PARAMETERS
 G          : standard plant (syslin list)
            
 K          : compensator (syslin list)
            
 flag       : character string 'o' (default value) or 'i'
            
 Se         : output sensitivity function (I+G*K)^-1
            
 Re         : K*Se
            
 Te         : G*K*Se (output complementary sensitivity function)
            
DESCRIPTION
   sensi computes sensitivity functions. If G and K are given in state-space
  form, the systems returned are generically minimal.  Calculation is made
  by lft, e.g.,  Se can be given by the commands   P = augment(G,'S'),
  Se=lft(P,K). If flag = 'i', [Si,Ri,Ti]=sensi(G,K,'i') returns the input
  sensitivity functions.
  
 [Se;Re;Te]= [inv(eye()+G*K);K*inv(eye()+G*K);G*K*inv(eye()+G*K)];
 [Si;Ri;Ti]= [inv(eye()+K*G);G*inv(eye()+K*G);K*G*inv(eye()+K*G)];
EXAMPLE
 G=ssrand(1,1,3);K=ssrand(1,1,3);
 [Se,Re,Te]=sensi(G,K);
 Se1=inv(eye()+G*K);  //Other way to compute
 ss2tf(Se)    //Se seen in transfer form
 ss2tf(Se1)
 ss2tf(Te)
 ss2tf(G*K*Se1)
 [Si,Ri,Ti]=sensi(G,K,'i');
 w1=[ss2tf(Si);ss2tf(Ri);ss2tf(Ti)]
 w2=[ss2tf(inv(eye()+K*G));ss2tf(G*inv(eye()+K*G));ss2tf(K*G*inv(eye()+K*G))];
 clean(w1-w2)
SEE ALSO
   augment, lft, h_cl