gcare

Generalized solver for continuous-time algebraic Riccati equation

Syntax

[X,L,report] = gcare(H,J,ns)
[X1,X2,D,L] = gcare(H,...,'factor')

Description

[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

HtJ=[AFS1GAS2S2S1R][E000E0000]

The optional input ns is the row size of the A matrix. Default values for J and ns correspond to E = I and R = [ ].

Optionally, gcare returns the vector L of 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 X

  • 0 if a finite stabilizing solution X exists

This syntax does not issue any error message when X fails to exist.

[X1,X2,D,L] = gcare(H,...,'factor') returns two matrices X1, 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.

See Also

|

Was this topic helpful?