File: bilin.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 (29 lines) | stat: -rw-r--r-- 916 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
bilin            Scilab Group            Scilab Function              bilin
NAME
   bilin - general bilinear transform
  
CALLING SEQUENCE
 [sl1]=bilin(sl,v)
PARAMETERS
 sl,sl1
       : linear systems (syslin lists)
      
 v    : real vector with 4 entries (v=[a,b,c,d])
      
DESCRIPTION
   Given a linear system in state space form, sl=syslin(dom,A,B,C,D) 
  (syslin list), sl1=bilin(sl,v)  returns in sl1 a  linear system with
  matrices [A1,B1,C1,D1] such that the transfer function
  H1(s)=C1*inv(s*eye()-A1)*B1+D1 is obtained from H(z)=C*inv(z*eye()-A)*B+D
  by replacing z by z=(a*s+b)/(c*s+d). One has
  w=bilin(bilin(w,[a,b,c,d]),[d,-b,-c,a])
  
EXAMPLE
 s=poly(0,'s');z=poly(0,'z');
 w=ssrand(1,1,3);
 wtf=ss2tf(w);v=[2,3,-1,4];a=v(1);b=v(2);c=v(3);d=v(4);
 [horner(wtf,(a*z+b)/(c*z+d)),ss2tf(bilin(w,[a,b,c,d]))]
 clean(ss2tf(bilin(bilin(w,[a,b,c,d]),[d,-b,-c,a]))-wtf)
SEE ALSO
   horner, cls2dls