acker (Control Design and Simulation Module, MathScript Function)
Member of the ssdesign class.
Syntax
[K, q] = acker(A, B, p)
[K, q] = acker(A, B, p, 'K')
[K, q] = acker(SysInSS, p, 'K')
[L, q] = acker(A, C, p, 'L')
[L, q] = acker(SysInSS, p, 'L')
[Ltrans, q] = acker(A', C', p)
Description
Places closed-loop control poles using the Ackermann formula and the controllability matrix to determine the controller gain vector, which places the closed-loop poles at specified locations in a system model with full state feedback. You also can use this function to return the estimator gain vector. You can use this function with single-input single-output (SISO), single-input multiple-output (SIMO), and multiple-input single-output (MISO) models. For multiple-input multiple-output (MIMO) models, use the place function.
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. |
p | Specifies where you want to place the closed-loop poles. p is a complex vector. |
'K' | Specifies that you want this function to design a controller gain vector. 'K' is a string constant and is the default value of this argument. You also can enter 'c' or 'controller'. |
SysInSS | Specifies a linear time-invariant (LTI) model in state-space form. |
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. |
'L' | Specifies that you want this function to design an estimator gain vector. 'L' is a string constant. You also can enter 'o' or 'observer'. |
Outputs
Name | Description |
K | Returns the feedback controller gain vector that produces a closed-loop model such that the locations of the poles are equal to the values you specified in the p vector. K is a real vector. |
q | Returns the eigenvalues of the matrix (A-BK). These eigenvalues are the closed-loop pole locations. q is a complex vector. |
L | Returns the feedback estimator gain vector that produces a closed-loop model such that the locations of the poles are equal to the values you specified in the p vector. L is a real vector. |
Ltrans | Returns the transpose of L. You then can use the transpose function to transpose Ltrans to obtain L. Ltrans is a real vector. |
Examples
A = [-1, 2; 0, -3]B = [0; 1]
p = [-4 + i, -4 - i]
[K, q] = acker(A, B, p, 'K')