Scilab Function

ricc - Riccati equation

Calling Sequence

[X,RCOND,FERR]=ricc(A,B,C,"cont""method")
[X,RCOND,FERR]=ricc(F,G,H,"disc","method")

Parameters

Description

Riccati solver.

Continuous time:

  X=ricc(A,B,C,'cont')
   

gives a solution to the continuous time ARE

  A'*X+X*A-X*B*X+C=0 .
   

B and C are assumed to be nonnegative definite. (A,G) is assumed to be stabilizable with G*G' a full rank factorization of B.

(A,H) is assumed to be detectable with H*H' a full rank factorization of C.

Discrete time:

  X=ricc(F,G,H,'disc')
   

gives a solution to the discrete time ARE

  X=F'*X*F-F'*X*G1*((G2+G1'*X*G1)^-1)*G1'*X*F+H
   

F is assumed invertible and G = G1*inv(G2)*G1'.

One assumes (F,G1) stabilizable and (C,F) detectable with C'*C full rank factorization of H. Use preferably ric_desc.

C, D are symmetric .It is assumed that the matrices A, C and D are such that the corresponding matrix pencil has N eigenvalues with moduli less than one.

Error bound on the solution and a condition estimate are also provided. It is assumed that the matrices A, C and D are such that the corresponding Hamiltonian matrix has N eigenvalues with negative real parts.

REFERENCE

Examples

See Also