Implicit solver for continuous-time algebraic Riccati equations
[
computes the unique stabilizing solution X
,K
,L
] = icare(A,B,Q,R,S,E,G
)X
, state-feedback gain
K
, and the closed-loop eigenvalues L
of the
following continuous-time algebraic Riccati equation.
The stabilizing solution X
puts all the eigenvalues
L
in the left half-plane.
Algebraic Riccati equations play a key role in LQR/LQG control, H2- and H-infinity control, Kalman filtering, and spectral or co-prime factorizations.
[___] = icare(___,
turns off the built-in scaling and sets all entries of the scaling vectors
'noscaling'
)info.Sx
and info.Sr
to 1. Turning off scaling speeds
up computation but can be detrimental to accuracy when A,B,Q,R,S,E,G
are poorly scaled.
(A-sE,B)
must be stabilizable, and E
and
R
must be invertible for a finite stabilizing solution
X
to exist and be finite. While these conditions are not sufficient
in general, they become sufficient when the following conditions are met:
is detectible
Basis of the invariant subspace
icare
works with the following pencil, and computes a basis
[U;V;W]
of the invariant subspace associated with the stable or
anti-stable finite eigenvalues of this pencil.
The data is automatically scaled to reduce the sensitivity of eigenvalues near the imaginary axis and increase separation between the stable and anti-stable invariant subspaces.
Relationship between the solution, the state-feedback gain, and the scaling vectors
The solution X
and state-feedback gain K
are
related to the scaling vectors, and U,V,W
by the following set of equations:
where,
Basis of the invariant subspace
icare
works with the following pencil, and computes a basis
[U;V;W]
of the invariant subspace associated with the stable or
anti-stable finite eigenvalues of this pencil.
idare
| ishermitian
| kalman
| lqg
| lqr
| lyap
| spectralfact
| h2syn
(Robust Control Toolbox) | hinfsyn
(Robust Control Toolbox) | lncf
(Robust Control Toolbox) | rncf
(Robust Control Toolbox)