(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
ns correspond to
E = I and
R = [ ].
gcare returns the vector
closed-loop eigenvalues and a diagnosis
report with value:
-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
X fails to exist.
[X1,X2,D,L] = gcare(H,...,'factor') returns two matrices
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 Hamiltonian matrix has eigenvalues on the imaginary axis.
Version HistoryIntroduced before R2006a
gcare is not recommended
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.