File: contr.man

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 (61 lines) | stat: -rw-r--r-- 1,497 bytes parent folder | download | duplicates (2)
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
59
60
61
.TH CONTR G "April 1993" "Scilab Group" "Scilab Function"
.so ../sci.an 
.SH NAME
contr - controllability, controllable subspace
.SH CALLING SEQUENCE
.nf
[n [,U]]=contr(A,B [,tol]) 
[A1,B1,U,ind]=contr(A,B [,tol])
.fi
.SH PARAMETERS
.TP 6
A, B
: real matrices 
.TP
tol  
: may be the constant rtol or the 2 vector \fV[rtol atol]\fR
.TP 10
rtol
:tolerance used when evaluating ranks (QR factorizations).
.TP
atol
:absolute tolerance (the \fVB\fR matrix is assumed to be 0 if \fVnorm(B)<atol\fR)
.TP
n
:  dimension of controllable subspace.
.TP
U
: orthogonal change of basis which puts \fV(A,B)\fR in canonical form.
.TP
A1 
: block Hessenberg matrix
.TP
B1 
: is \fVU'*B\fR.
.TP
ind 
: vector associated with controllability indices (dimensions of subspaces \fVB,
B+A*B,...=ind(1),ind(1)+ind(2),...\fR)
.SH DESCRIPTION
\fV[n,[U]]=contr(A,B,[tol])\fR gives the controllable form of an \fV(A,B)\fR 
pair.(\fVdx/dt = A x + B u\fR or \fVx(n+1) = A x(n) +b u(n)\fR).
The \fVn\fR first columns of \fVU\fR make a basis for the controllable
subspace.
.LP       
If \fVV=U(:,1:n)\fR, then \fVV'*A*V\fR and  \fVV'*B\fR give the controllable part
of the \fV(A,B)\fR pair.
.LP
\fV[A1,B1,U,ind]=contr(A,B)\fR returns the Hessenberg controllable
form of \fV(A,B)\fR. 
.SH EXAMPLE
.nf
W=ssrand(2,3,5,list('co',3));  //cont. subspace has dim 3.
A=W("A");B=W("B");
[n,U]=contr(A,B);n
A1=U'*A*U;
spec(A1(n+1:$,n+1:$))  //uncontrollable modes
spec(A+B*rand(3,5))    
.fi
.SH SEE ALSO
canon, cont_mat, unobs, stabil