## Documentation Center |

Pole placement design

`K = place(A,B,p)[K,prec,message] = place(A,B,p)`

Given the single- or multi-input system

and a vector `p` of desired self-conjugate
closed-loop pole locations, `place` computes a gain
matrix `K` such that the state feedback *u* =
–*Kx* places the closed-loop poles at the
locations `p`. In other words, the eigenvalues of *A* – *BK* match
the entries of `p` (up to the ordering).

`K = place(A,B,p)` places the desired closed-loop poles `p` by computing a state-feedback gain matrix `K`. All the inputs of the plant are assumed to be control inputs.
The length of `p` must match the row size of `A`. `place` works
for multi-input systems and is based on the algorithm from [1]. This algorithm uses the extra degrees
of freedom to find a solution that minimizes the sensitivity of the
closed-loop poles to perturbations in *A* or *B*.

`[K,prec,message] = place(A,B,p)` returns `prec`,
an estimate of how closely the eigenvalues of *A* – *BK* match
the specified locations `p` (`prec` measures
the number of accurate decimal digits in the actual closed-loop poles).
If some nonzero closed-loop pole is more than 10% off from the desired
location, `message` contains a warning message.

You can also use `place` for estimator gain
selection by transposing the `A` matrix and substituting `C'` for `B`.

l = place(A',C',p).'

**Pole
Placement Design**

Consider a state-space system `(a,b,c,d)` with
two inputs, three outputs, and three states. You can compute the feedback
gain matrix needed to place the closed-loop poles at `p =
[-1 -1.23 -5.0]` by

p = [-1 -1.23 -5.0]; K = place(a,b,p)

[1] Kautsky, J., N.K. Nichols, and P. Van
Dooren, "Robust Pole Assignment in Linear State Feedback," *International
Journal of Control,* 41 (1985), pp. 1129-1155.

[2] Laub, A.J. and M. Wette, *Algorithms
and Software for Pole Assignment and Observers*, UCRL-15646
Rev. 1, EE Dept., Univ. of Calif., Santa Barbara, CA, Sept. 1984.

Was this topic helpful?