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 cs 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