| Control System Toolbox™ | ![]() |
[X,L,G] = dare(A,B,Q,R)
[X,L,G] = dare(A,B,Q,R,S,E)
[X,L,G,report] = dare(A,B,Q,...)
[X1,X2,L,report] = dare(A,B,Q,...,'factor')
[X,L,G] = dare(A,B,Q,R) computes the unique stabilizing solution X of the discrete-time algebraic Riccati equation
![]()
The dare function also returns the gain matrix,
, and the vector L of
closed loop eigenvalues, where
L=eig(A-B*G,E)
[X,L,G] = dare(A,B,Q,R,S,E) solves the more general discrete-time algebraic Riccati equation,
![]()
or, equivalently, if R is nonsingular,
![]()
where
. When omitted, R, S,
and E are set to the default values R=I, S=0,
and E=I.
The dare function returns the corresponding
gain matrix
![]()
and a vector L of closed-loop eigenvalues, where
L= eig(A-B*G,E)
[X,L,G,report] = dare(A,B,Q,...) returns a diagnosis report with value:
-1 when the associated symplectic pencil has eigenvalues on or very near the unit circle
-2 when there is no finite stabilizing solution X
The Frobenius norm if X exists and is finite
[X1,X2,L,report] = dare(A,B,Q,...,'factor') returns two matrices, X1 and X2, and a diagonal scaling matrix D such that X = D*(X2/X1)*D. The vector L contains the closed-loop eigenvalues. All outputs are empty when the associated Symplectic matrix has eigenvalues on the unit circle.
dare implements the algorithms described in [1]. It uses the QZ algorithm to deflate the extended symplectic pencil and compute its stable invariant subspace.
The
pair must be stabilizable (that
is, all eigenvalues of
outside the unit disk must be controllable).
In addition, the associated symplectic pencil must have no eigenvalue
on the unit circle. Sufficient conditions for this to hold are
detectable
when
and
, or

[1] Arnold, W.F., III and A.J. Laub, "Generalized Eigenproblem Algorithms and Software for Algebraic Riccati Equations," Proc. IEEE, 72 (1984), pp. 1746-1754.
![]() | damp | db2mag | ![]() |
| © 1984-2008- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |