Most of the functions described in this chapter were contributed by A. Scottedward Hodel @email{A.S.Hodel@eng.auburn.edu} and R. Bruce Tenison @email{Bruce.Tenison@eng.auburn.edu}. They have also written a larger collection of functions for solving linear control problems. It is currently being updated for Octave version 2, with snapshots of the sources available from @url{ftp://ftp.eng.auburn.edu/pub/hodel}.
If the matrices are compatibly dimensioned, then abcddim
returns
Otherwise abcddim
returns n = m = p = -1.
Return the solution, x, of the algebraic Riccati equation
for identically dimensioned square matrices a, b, and
c. If b is not square, are
attempts to use
b*b'
instead. If c is not square, are
attempts to use c'*c
) instead.
To form the solution, Laub's Schur method (IEEE Transactions on Automatic Control, 1979) is applied to the appropriate Hamiltonian matrix.
The optional argument opt is passed to the eigenvalue balancing
routine. If it is omitted, a value of "B"
is assumed.
via the matrix exponential assuming a zero-order hold on the input and sample time t.
Return the solution, x of the discrete-time algebraic Riccati equation
for matrices with dimensions:
If c is not square, then the function attempts to use
c'*c
instead.
To form the solution, Laub's Schur method (IEEE Transactions on Automatic Control, 1979) is applied to the appropriate symplectic matrix.
See also Ran and Rodman, Stable Hermitian Solutions of Discrete Algebraic Riccati Equations, Mathematics of Control, Signals and Systems, Volume 5, Number 2 (1992).
The optional argument opt is passed to the eigenvalue balancing
routine. If it is omitted, a value of "B"
is assumed.
For example, dgram (a, b)
returns the discrete
controllability gramian and dgram (a', c')
returns
the observability gramian.
sigw = cov (w, w)
and
sigv = cov (v, v)
.
If specified, z is cov (w, v)
. Otherwise
cov (w, v) = 0
.
The observer structure is
The following values are returned:
z omitted or z included.
The following values are returned:
Uses Schur decomposition method as in Kitagawa International Journal of Control, Volume 25, Number 5, pages 745--753 (1977); column-by-column solution method as suggested in Hammerling, Numerical Solution of the Stable, Non-Negative Definite Lyapunov Equation, IMA Journal of Numerical Analysis, Volume 2, pages 303--323 (1982).
The optional argument tol is a roundoff parameter. If it is
omitted, a value of 2*eps
is used.
Currently, is_controllable
just constructs the controllability
matrix and checks rank.
Return 1 if the pair (a, c) is observable. Otherwise, return 0.
The optional argument tol is a roundoff parameter. If it is
omitted, a value of 2*eps
is used.
sigw = cov (w, w) sigv = cov (v, v)
The optional argument z is the cross-covariance
cov (w, v)
. If it is omitted,
cov (w, v) = 0
is assumed.
Observer structure is dz/dt = A z + B u + k (y - C z - D u)
The following values are returned:
z omitted or z included.
The following values are returned:
If a, b, and c are specified, then lyap
returns
the solution of the Sylvester equation
If only (a, b)
are specified, then lyap
returns the
solution of the Lyapunov equation
If b is not square, then lyap
returns the solution of either
or
whichever is appropriate.
The optional argument opt is passed to the eigenvalue balancing
routine. If it is omitted, a value of "B"
is assumed.
Go to the first, previous, next, last section, table of contents.