(Not recommended) Generalized solver for discrete-time algebraic Riccati equation
[X,L,report] = gdare(H,J,ns)
[X1,X2,D,L] = gdare(H,J,NS,'factor')
[X,L,report] = gdare(H,J,ns) computes the
unique stabilizing solution
X of the discrete-time
algebraic Riccati equation associated with a Symplectic pencil of
The third input
ns is the row size of the A matrix.
gdare returns the vector
closed-loop eigenvalues and a diagnosis
-1 if the Symplectic pencil has eigenvalues on the unit circle
-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] = gdare(H,J,NS,'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 Symplectic pencil has eigenvalues on
the unit circle.
Not recommended starting in R2019a
Starting in R2019a, use the
idare command to solve discrete-time Riccati equations. This
approach has improved accuracy through better scaling and the computation of
K is more accurate when
ill-conditioned relative to
idare includes an optional
info structure to
gather the implicit solution data of the Riccati equation.
There are no plans to remove
gdare at this time.