Function File: f = place (sys, p)
Function File: f = place (a, b, p)
Function File: [f, info] = place (sys, p, alpha)
Function File: [f, info] = place (a, b, p, alpha)

Pole assignment for a given matrix pair (A,B) such that p = eig (A-B*F). If parameter alpha is specified, poles with real parts (continuous-time) or moduli (discrete-time) below alpha are left untouched.

Inputs

sys

Continuous- or discrete-time LTI system.

a

State matrix (n-by-n) of a continuous-time system.

b

Input matrix (n-by-m) of a continuous-time system.

p

Desired eigenvalues of the closed-loop system state-matrix A-B*F. length (p) <= rows (A).

alpha

Specifies the maximum admissible value, either for real parts or for moduli, of the eigenvalues of A which will not be modified by the eigenvalue assignment algorithm. alpha >= 0 for discrete-time systems.

Outputs

f

State feedback gain matrix.

info

Structure containing additional information.

info.nfp

The number of fixed poles, i.e. eigenvalues of A having real parts less than alpha, or moduli less than alpha. These eigenvalues are not modified by place.

info.nap

The number of assigned eigenvalues. nap = n-nfp-nup.

info.nup

The number of uncontrollable eigenvalues detected by the eigenvalue assignment algorithm.

info.z

The orthogonal matrix z reduces the closed-loop system state matrix A + B*F to upper real Schur form. Note the positive sign in A + B*F.

Note

Place is also suitable to design estimator gains:
L = place (A.', C.', p).'
L = place (sys.', p).'   # useful for discrete-time systems

Algorithm
Uses SLICOT SB01BD by courtesy of NICONET e.V.

Package: control