# place

Pole placement design

## Syntax

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

## Description

Given the single- or multi-input system

`$\stackrel{˙}{x}=Ax+Bu$`

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 ABK 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 . 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 ABK 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).' ```

## Examples

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) ```

## Algorithms

`place` uses the algorithm of  which, for multi-input systems, optimizes the choice of eigenvectors for a robust solution.

In high-order problems, some choices of pole locations result in very large gains. The sensitivity problems attached with large gains suggest caution in the use of pole placement techniques. See  for results from numerical testing.

## References

 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.

 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.

## Version History

Introduced before R2006a