1
.TH cainv 1 "April 1993" "Scilab Group" "Scilab Function"
7
[X,dims,J,Y,k,Z]=cainv(Sl,alfa,beta,flag)
12
: \fVsyslin\fR list containing the matrices \fV[A,B,C,D]\fR.
15
: real number or vector (possibly complex, location of closed loop poles)
18
: real number or vector (possibly complex, location of closed loop poles)
21
: (optional) character string \fV'ge'\fR (default) or \fV'st'\fR or \fV'pp'\fR
24
: orthogonal matrix of size nx (dim of state space).
28
integer row vector \fVdims=[nd1,nu1,dimS,dimSg,dimN]\fR (5 entries, nondecreasing order).If \fVflag='st'\fR, (resp. \fV'pp'\fR), \fVdims\fR has 4
32
: real matrix (output injection)
35
: orthogonal matrix of size ny (dim of output space).
38
: integer (normal rank of \fVSl\fR)
41
: non-singular linear system (\fVsyslin\fR list)
43
\fVcainv\fR finds a bases \fV(X,Y)\fR (of state space and output space resp.)
44
and output injection matrix \fVJ\fR such that the matrices of Sl in
45
bases (X,Y) are displayed as:
50
X'*(A+J*C)*X = [0,0,A33,*,*,*] X'*(B+J*D) = [*]
55
Y*C*X = [0,0,C13,*,*,*] Y*D = [*]
61
The partition of \fVX\fR is defined by the vector
62
\fVdims=[nd1,nu1,dimS,dimSg,dimN]\fR and the partition of \fVY\fR
63
is determined by \fVk\fR.
65
Eigenvalues of \fVA11\fR \fV(nd1 x nd1)\fR are unstable.
66
Eigenvalues of \fVA22\fR \fV(nu1-nd1 x nu1-nd1)\fR are stable.
68
The pair \fV(A33, C13)\fR \fV(dimS-nu1 x dimS-nu1, k x dimS-nu1)\fR is observable,
69
and eigenvalues of \fVA33\fR are set to \fValfa\fR.
71
Matrix \fVA44\fR \fV(dimSg-dimS x dimSg-dimS)\fR is unstable.
72
Matrix \fVA55\fR \fV(dimN-dimSg,dimN-dimSg)\fR is stable
74
The pair \fV(A66,C26)\fR \fV(nx-dimN x nx-dimN)\fR is observable,
75
and eigenvalues of \fVA66\fR set to \fVbeta\fR.
77
The \fVdimS\fR first columns of \fVX\fR span S= smallest (C,A) invariant
78
subspace which contains Im(B), \fVdimSg\fR first columns of \fVX\fR
79
span Sg the maximal "complementary detectability subspace" of \fVSl\fR
81
The \fVdimN\fR first columns of \fVX\fR span the maximal
82
"complementary observability subspace" of \fVSl\fR.
83
(\fVdimS=0\fR if B(ker(D))=0).
85
If \fVflag='st'\fR is given, a five blocks partition of the matrices is
86
returned and \fRdims\fR has four components. If \fVflag='pp'\fR is
87
given a four blocks partition is returned (see abinv).
89
This function can be used to calculate an unknown input observer:
91
// DDEP: dot(x)=A x + Bu + Gd
92
// y= Cx (observation)
93
// z= Hx (z=variable to be estimated, d=disturbance)
94
// Find: dot(w) = Fw + Ey + Ru such that
96
// z-Hx goes to zero at infinity
97
// Solution exists iff Ker H contains Sg(A,C,G) inter KerC (assuming detectability)
98
//i.e. H is such that:
99
// For any W which makes a column compression of [Xp(1:dimSg,:);C]
100
// with Xp=X' and [X,dims,J,Y,k,Z]=cainv(syslin('c',A,G,C));
101
// [Xp(1:dimSg,:);C]*W = [0 | *] one has
102
// H*W = [0 | *] (with at least as many aero columns as above).
105
abinv, dt_ility, ui_observer