File: bilin.cat

package info (click to toggle)
scilab 2.4-1
  • links: PTS
  • area: non-free
  • in suites: potato, slink
  • size: 55,196 kB
  • ctags: 38,019
  • sloc: ansic: 231,970; fortran: 148,976; tcl: 7,099; makefile: 4,585; sh: 2,978; csh: 154; cpp: 101; asm: 39; sed: 5
file content (31 lines) | stat: -rw-r--r-- 899 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

bilin(1)                       Scilab Function                       bilin(1)
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