(Not recommended) Generalized solver for continuous-time algebraic Riccati equation
[X,L,report] = gcare(H,J,ns)
[X1,X2,D,L] = gcare(H,...,'factor')
[X,L,report] = gcare(H,J,ns) computes the
unique stabilizing solution X of the continuous-time algebraic Riccati
equation associated with a Hamiltonian pencil of the form
The optional input
ns is the row size of
the A matrix. Default values for
to E = I and R = [ ].
gcare returns the vector
closed-loop eigenvalues and a diagnosis
-1 if the Hamiltonian pencil has jw-axis eigenvalues
-2 if there is no finite stabilizing solution
0 if a finite stabilizing solution
This syntax does not issue any error message when
[X1,X2,D,L] = gcare(H,...,'factor') returns
X2 and a diagonal
D such that
X = D*(X2/X1)*D.
L contains the closed-loop eigenvalues.
All outputs are empty when the associated Hamiltonian matrix has eigenvalues
on the imaginary axis.
gcare is not recommended
Not recommended starting in R2019a
Starting in R2019a, use the
icare command to solve continuous-time Riccati equations. This
approach has improved accuracy through better scaling and the computation of
K is more accurate when
ill-conditioned relative to
icare includes an optional
info structure to
gather the implicit solution data of the Riccati equation.
The following table shows some typical uses of
gcare and how to
update your code to use
There are no plans to remove
gcare at this time.