control.place

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

Place closed loop eigenvalues.

K = place(A, B, p)

Parameters
A2D array_like

Dynamics matrix.

B2D array_like

Input matrix.

p1D array_like

Desired eigenvalue locations.

Returns
K2D array

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

Notes

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