Node:numerical, Next:sysprop, Previous:blockdiag, Up:Control Theory
x = are (a, b, c, opt) | Function File |
Solve the Algebraic Riccati Equation
a' * x + x * a - x * b * x + c = 0 Inputs for identically dimensioned square matrices
Output
Method Laub's Schur method (IEEE Transactions on Automatic Control, 1979) is applied to the appropriate Hamiltonian matrix. |
x = dare (a, b, q, r, opt) | Function File |
Return the solution, x of the discrete-time algebraic Riccati
equation
a' x a - x + a' x b (r + b' x b)^(-1) b' x a + q = 0 Inputs
Output
Method Generalized eigenvalue approach (Van Dooren; SIAM J. Sci. Stat. Comput., Vol 2) applied to the appropriate symplectic pencil. See also: Ran and Rodman, Stable Hermitian Solutions of Discrete Algebraic Riccati Equations, Mathematics of Control, Signals and Systems, Vol 5, no 2 (1992), pp 165-194. |
[tvals, plist] = dre (sys, q, r, qf, t0, tf, ptol, maxits) | Function File |
Solve the differential Riccati equation
-d P/dt = A'P + P A - P B inv(R) B' P + Q P(tf) = Qffor the LTI system sys. Solution of standard LTI state feedback optimization min int(t0, tf) ( x' Q x + u' R u ) dt + x(tf)' Qf x(tf)optimal input is u = - inv(R) B' P(t) xInputs
|| Plist{i} - Plist{i-1} || < Ptolfor every i between 2 and length(tvals). |
dgram (a, b) | Function File |
Return controllability gramian of discrete time system
x(k+1) = a x(k) + b u(k) Inputs
Output
|
dlyap (a, b) | Function File |
Solve the discrete-time Lyapunov equation
Inputs
Output
Options:
Method Uses Schur decomposition method as in Kitagawa, An Algorithm for Solving the Matrix Equation X = F X F' + S, International Journal of Control, Volume 25, Number 5, pages 745-753 (1977). Column-by-column solution method as suggested in Hammarling, Numerical Solution of the Stable, Non-Negative Definite Lyapunov Equation, IMA Journal of Numerical Analysis, Volume 2, pages 303-323 (1982). |
gram (a, b) | Function File |
Return controllability gramian m of the continuous time system
dx/dt = a x + b u.
m satisfies a m + m a' + b b' = 0. |
lyap (a, b, c) | Function File |
lyap (a, b) | Function File |
Solve the Lyapunov (or Sylvester) equation via the Bartels-Stewart
algorithm (Communications of the ACM, 1972).
If a, b, and c are specified, then a x + x b + c = 0If only (a, b) are specified, then lyap returns the
solution of the Lyapunov equation
a' x + x a + b = 0If b is not square, then lyap returns the solution of either
a' x + x a + b' b = 0 or
a x + x a' + b b' = 0 whichever is appropriate. Solves by using the Bartels-Stewart algorithm (1972). |
qzval (a, b) | Function File |
Compute generalized eigenvalues of the matrix pencil
(A - lambda B). a and b must be real matrices.
|
y = zgfmul (a, b, c, d, x) | Function File |
Compute product of zgep incidence matrix F with vector x.
Used by zgepbal (in zgscal ) as part of generalized conjugate gradient
iteration.
|
zgfslv (n, m, p, b) | Function File |
Solve system of equations for dense zgep problem. |
zz = zginit (a, b, c, d) | Function File |
Construct right hand side vector zz
for the zero-computation generalized eigenvalue problem
balancing procedure. Called by zgepbal .
|
zgreduce (sys, meps) | Function File |
Implementation of procedure REDUCE in (Emami-Naeini and Van Dooren, Automatica, # 1982). |
[nonz, zer] = zgrownorm (mat, meps) | Function File |
Return nonz = number of rows of mat whose two norm exceeds meps, and zer = number of rows of mat whose two norm is less than meps. |
x = zgscal (f, z, n, m, p) | Function File |
Generalized conjugate gradient iteration to
solve zero-computation generalized eigenvalue problem balancing equation
fx=z; called by zgepbal .
|
[a, b] = zgsgiv (c, s, a, b) | Function File |
Apply givens rotation c,s to row vectors a, b. No longer used in zero-balancing (__zgpbal__); kept for backward compatibility. |
x = zgshsr (y) | Function File |
Apply householder vector based on
e^(m)
to column vector y.
Called by zgfslv .
|
References