lqrdy (Control Design and Simulation Module, MathScript Function)
Member of the ssdesign class.
Syntax
[K, X, eig] = lqrdy(A, B, C, D, Q, R, Ts)
[K, X, eig] = lqrdy(A, B, C, D, Q, R, N, Ts)
[K, X, eig] = lqrdy(SysInSS, Q, R, Ts)
[K, X, eig] = lqrdy(SysInSS, Q, R, N, Ts)
Description
Calculates the discrete, optimal, steady-state feedback gain matrix K that minimizes a quadratic cost function for a continuous linear time-invariant (LTI) system model in state-space form. This function discretizes automatically the continuous system model before calculating K. This cost function weights the model outputs. The quadratic cost function J is defined as the following equation:
sum(y'(k)Qy(k)+u(k)' Ru(k)+2y(k)'Nu(k), k, 0, +inf), where k is discrete time, u is the input vector, and y is the output vector.
Inputs
Name | Description |
A | Specifies an n x n state matrix, where n is the number of states. The default is an empty matrix. A is a real matrix. |
B | Specifies an n x m input matrix, where m is the number of inputs. The default is an empty matrix. B is a real matrix. |
C | Specifies an r x n output matrix, where r is the number of outputs. The default is an empty matrix. C is a real matrix. |
D | Specifies an r x m direct transmission matrix. The default is an empty matrix. D is a real matrix. |
Q | Specifies a symmetric, positive semi-definite matrix that penalizes the state vector x in the cost function. Q is a real matrix. |
R | Specifies a symmetric positive definite matrix that penalizes the input vector u in the cost function. The default is the identity matrix. R is a real matrix. |
N | Specifies a matrix that penalizes the cross product between input and state vectors, such that (Q-N*inv(R)*N') is positive semi-definite. The default is an appropriately sized matrix of zeros. N is a real matrix. |
Ts | Specifies the discrete sampling time this function uses to convert the model. Ts is a real scalar. |
SysInSS | Specifies an LTI model in state-space form. |
Outputs
Name | Description |
K | Returns the gain matrix such that K = inv(R)*(B'X+N'). K is a real matrix. |
X | Returns the symmetric, positive semi-definite (stabilizing) solution to the discrete algebraic Riccati equation. X is a real matrix. |
eig | Returns the eigenvalues of the matrix (A-BK). These eigenvalues are the closed-loop pole locations. eig is a complex vector. |
Examples
A = [-1, -2; 0, -4]
B = [0; 1]
Q = [2, 0; 0, 2]
R = 1
[K, X, eig] = lqrdy(A, B, Q, R)