care
Solve continuous-time algebraic Riccati equation (ARE).
Inputs
Real matrix (n-by-n).
Real matrix (n-by-m).
Real matrix (n-by-n).
Real matrix (m-by-m).
Optional real matrix (n-by-m). If s is not specified, a zero matrix is assumed.
Optional descriptor matrix (n-by-n). If e is not specified, an identity matrix is assumed.
Outputs
Unique stabilizing solution of the continuous-time Riccati equation (n-by-n).
Closed-loop poles (n-by-1).
Corresponding gain matrix (m-by-n).
Equations
-1 A'X + XA - XB R B'X + Q = 0 -1 A'X + XA - (XB + S) R (B'X + S') + Q = 0 -1 G = R B'X -1 G = R (B'X + S') L = eig (A - B*G) |
-1 A'XE + E'XA - E'XB R B'XE + Q = 0 -1 A'XE + E'XA - (E'XB + S) R (B'XE + S') + Q = 0 -1 G = R B'XE -1 G = R (B'XE + S) L = eig (A - B*G, E) |
Algorithm
Uses SLICOT SB02OD and SG02AD,
Copyright (c) 2020, SLICOT, available under the BSD 3-Clause
(License and Disclaimer).
See also: dare, lqr, dlqr, kalman
Source Code: care