File: lft.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 (58 lines) | stat: -rw-r--r-- 1,792 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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
lft              Scilab Group              Scilab Function              lft
NAME
   lft - linear fractional transformation
  
CALLING SEQUENCE
 [P1]=LFT(P,K)
 [P1]=LFT(P,r,K)
 [P1,r1]=LFT(P,r,P#,r#)
PARAMETERS
 P    : linear system (syslin list), the ``augmented'' plant, implicitly
      partitioned into four blocks (two input ports and two output ports).
      
 K    : linear system (syslin list), the controller (possibly an ordinary
      gain).
      
 r    : 1x2 row vector, dimension of P22
      
 P#   : linear system (syslin list), implicitly partitioned into four
      blocks (two input ports and two output ports).
      
 r#   : 1x2 row vector, dimension of P#22
      
DESCRIPTION
   Linear fractional transform between two standard plants P and P# in state
  space form or in transfer form  (syslin lists).
  
   r= size(P22) r#=size(P22#)
  
   LFT(P,r, K) is the linear fractional transform between P and a controller
  K (K may be a gain or a controller in state space form or in transfer
  form);
  
   LFT(P,K) is LFT(P,r,K) with r=size of K transpose;
  
   P1= P11+P12*K* (I-P22*K)^-1 *P21
  
   returns the generalized (2 ports) lft of P and P#.
  
   P1 is the pair two-port interconnected plant and the partition of P1 into
  4 blocks in given by r1 which is the dimension of the 22 block of P1.
  
   P and R can be PSSDs i.e. may admit a polynomial D matrix.
  
EXAMPLE
 s=poly(0,'s');
 P=[1/s, 1/(s+1); 1/(s+2),2/s]; K= 1/(s-1);
 lft(P,K)
 lft(P,[1,1],K)
 P(1,1)+P(1,2)*K*inv(1-P(2,2)*K)*P(2,1)   //Numerically dangerous!
 ss2tf(lft(tf2ss(P),tf2ss(K)))
 lft(P,-1)
 f=[0,0;0,1];w=P/.f; w(1,1)
 //Improper plant (PID control)
 W=[1,1;1,1/(s^2+0.1*s)];K=1+1/s+s
 lft(W,[1,1],K); ss2tf(lft(tf2ss(W),[1,1],tf2ss(K)))
SEE ALSO
   sensi, augment, feedback, sysdiag