control.care¶
-
control.
care
(A, B, Q, R=None, S=None, E=None, stabilizing=True)¶ (X, L, G) = care(A, B, Q, R=None) solves the continuous-time algebraic Riccati equation
where A and Q are square matrices of the same dimension. Further, Q and R are a symmetric matrices. If R is None, it is set to the identity matrix. The function returns the solution X, the gain matrix G = B^T X and the closed loop eigenvalues L, i.e., the eigenvalues of A - B G.
(X, L, G) = care(A, B, Q, R, S, E) solves the generalized continuous-time algebraic Riccati equation
where A, Q and E are square matrices of the same dimension. Further, Q and R are symmetric matrices. If R is None, it is set to the identity matrix. The function returns the solution X, the gain matrix G = R^-1 (B^T X E + S^T) and the closed loop eigenvalues L, i.e., the eigenvalues of A - B G , E.
- Parameters
A (2D arrays) – Input matrices for the Riccati equation
B (2D arrays) – Input matrices for the Riccati equation
Q (2D arrays) – Input matrices for the Riccati equation
R (2D arrays, optional) – Input matrices for generalized Riccati equation
S (2D arrays, optional) – Input matrices for generalized Riccati equation
E (2D arrays, optional) – Input matrices for generalized Riccati equation
- Returns
X (2D array (or matrix)) – Solution to the Ricatti equation
L (1D array) – Closed loop eigenvalues
G (2D array (or matrix)) – Gain matrix
Notes
The return type for 2D arrays depends on the default class set for state space operations. See
use_numpy_matrix()
.