control.place

control.place(A, B, p)[source]

Place closed loop eigenvalues.

K = place(A, B, p)

Parameters
  • A (2D array_like) – Dynamics matrix

  • B (2D array_like) – Input matrix

  • p (1D array_like) – Desired eigenvalue locations

Returns

K – Gain such that A - B K has eigenvalues given in p

Return type

2D array (or matrix)

Notes

Algorithm

This is a wrapper function for scipy.signal.place_poles(), which implements the Tits and Yang algorithm [1]. It will handle SISO, MISO, and MIMO systems. If you want more control over the algorithm, use scipy.signal.place_poles() directly.

Limitations

The algorithm will not place poles at the same location more than rank(B) times.

References

1

A.L. Tits and Y. Yang, “Globally convergent algorithms for robust pole assignment by state feedback, IEEE Transactions on Automatic Control, Vol. 41, pp. 1432-1452, 1996.

Examples

>>> A = [[-1, -1], [0, 1]]
>>> B = [[0], [1]]
>>> K = ct.place(A, B, [-2, -5])

See also

place_varga, acker