File: stabil.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 (54 lines) | stat: -rw-r--r-- 1,747 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

stabil(1)                      Scilab Function                      stabil(1)
NAME
  stabil - stabilization

CALLING SEQUENCE
  F=stabil(A,B,alfa)
  K=stabil(Sys,alfa,beta)

PARAMETERS

  A         : square real matrix (nx x nx)

  B         :  real matrix (nx x nu)

  alfa, beta
            :  real or complex vector (in conjugate pairs) or real number.

  F         : real matrix (nx x nu)

  Sys       : linear system (syslin list) (m inputs, p outputs).

  K         : linear system (p inputs, m outputs)

DESCRIPTION
  F=stabil(A,B,alfa) returns a gain matrix F such that A+B*F is stable if
  pair (A,B) is stabilizable. Assignable poles are set to
  alfa(1),alfa(2),....  If (A,B) is not stabilizable a warning is given and
  assignable poles are set to alfa(1),alfa(2),....  If alfa is a number all
  eigenvalues are set to this alfa (default value is alfa=-1).

  K=stabil(Sys,alfa,beta) returns K, a compensator for Sys such that (A,B)-
  controllable eigenvalues are set to alfa and (C,A)-observable eigenvalues
  are set to beta.

  All assignable closed loop poles (which are given by the eigenvalues of
  Aclosed=h_cl(Sys,K) are set to alfa(i)'s and beta(j)'s.

EXAMPLE
  // Gain:
  Sys=ssrand(0,2,5,list('st',2,3,3));
  A=Sys('A');B=Sys('B');F=stabil(A,B);
  spec(A) //2 controllable modes 2 unstable uncontrollable modes
  //and one stable uncontrollable mode
  spec(A+B*F) //the two controllable modes are set to -1.
  // Compensator:
  Sys=ssrand(3,2,5,list('st',2,3,3)); //3 outputs, 2 inputs, 5 states
  //2 controllables modes, 3 controllable or stabilizable modes.
  K=stabil(Sys,-2,-3);  //Compensator for Sys.
  spec(Sys('A'))
  spec(h_cl(Sys,K))   //K Stabilizes what can be stabilized.

SEE ALSO
  st_ility, contr, ppol