File: residu.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 (42 lines) | stat: -rw-r--r-- 1,093 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

RESIDU(G)                      Scilab Function                      RESIDU(G)

NAME
  residu - residue

CALLING SEQUENCE
  [V]=residu(P,Q1,Q2)

PARAMETERS

  P, Q1, Q2
       : polynomials or matrix polynomials with real or complex coefficients.

DESCRIPTION
  returns the matrix V such that V(i,j) is the sum of the residues of the
  rational fraction P(i,j)/(Q1(i,j)*Q2(i,j)) calculated at the zeros of
  Q1(i,j).

  Q1(i,j) and Q2(i,j) must not have any common root.

EXAMPLE
  s=poly(0,'s');
  H=[s/(s+1)^2,1/(s+2)];N=numer(H);D=denom(H);
  w=residu(N.*horner(N,-s),D,horner(D,-s));  //N(s) N(-s) / D(s) D(-s)
  sqrt(sum(w))  //This is H2 norm
  h2norm(tf2ss(H))
  //
  p=(s-1)*(s+1)*(s+2)*(s+10);a=(s-5)*(s-1)*(s*s)*((s+1/2)**2);
  b=(s-3)*(s+2/5)*(s+3);
  residu(p,a,b)+531863/4410    //Exact
  z=poly(0,'z');a=z^3+0.7*z^2+0.5*z-0.3;b=z^3+0.3*z^2+0.2*z+0.1;
  atild=gtild(a,'d');btild=gtild(b,'d');
  residu(b*btild,z*a,atild)-2.9488038   //Exact
  a=a+0*%i;b=b+0*%i;
  real(residu(b*btild,z*a,atild)-2.9488038) //Complex case

SEE ALSO
  pfss, bdiag, roots, poly, gtild

AUTHOR
  F.D.