This is documentation for Mathematica 8, which was
based on an earlier version of the Wolfram Language.

# StateFeedbackGains

 StateFeedbackGains gives the state feedback gain matrix for the StateSpaceModel object ss such that the poles of the closed-loop system are .
• The state-space model ss can be given as StateSpaceModel, where a and b represent the state and input matrices in either a continuous-time or a discrete-time system:
 continuous-time system discrete-time system
• If ss is controllable, the eigenvalues of will be , where is the computed state feedback gain matrix.
• Possible settings include:
 Automatic automatic method selection "Ackermann" Ackermann method "KNVD" Kautsky-Nichols-Van Dooren method
• With the default setting Method, the algorithm is chosen when the number of feedback inputs is not greater than the number of states, and if the arguments are inexact, a solution using LinearSolve is attempted if the number of feedback inputs is greater than or equal to the number of states, and the algorithm is used for all other cases.
• With the setting Method, the can be given as numbers or symbols.
• The Ackermann formula is given by , where is the characteristic polynomial of the closed-loop system.
• For multiple-input systems, the method selects the feedback input based on the condition numbers of the controllability matrices if they are inexact. For exact systems, the first feedback input for which a solution is obtained is chosen.
• For multiple-input systems, the setting Method yields a robust, well-conditioned solution.
Place the poles at :
Place all the eigenvalues of a discrete-time system at the origin:
Eigenvalue assignment for a two-input system:
Place the poles at :
 Out[1]=

Place all the eigenvalues of a discrete-time system at the origin:
 Out[1]=
 Out[2]=

Eigenvalue assignment for a two-input system:
 Out[1]=

 Scope   (5)
Compute the state feedback gains that place poles at specific locations:
Verify the result:
The state feedback gains for a multiple-input system:
Shift the pole of an integrator to :
Feedback gain for a symbolic first-order system:
The closed-loop system:
Compute the state feedback gains of a symbolic discrete-time system:
The poles of the closed-loop system:
 Options   (2)
By default, the KNVD method is chosen for inexact inputs:
The solution using Ackermann's formula:
The KNVD method is more robust:
For inexact multiple-input systems, the Ackermann method selects the feedback input that has the controllability matrix with the lowest condition number:
By default the first input is selected:
The gains associated with the second output:
 Applications   (5)
Stabilize a system using state feedback:
A system with two masses, a spring, and a damper:
The choice of poles can be used to tune the response of the system:
The gain gives an overdamped response, while results in a slightly damped system:
Compute the state feedback gains to regulate an inverted pendulum about the upright position:
Displacements and of the cart and the pendulum from an initial cart position of :
The displacements are also regulated when disturbances are present:
The motion of a spacecraft linearized about a circular Kepler orbit:
Determine a set of thruster commands to regain the nominal trajectory after an initial disturbance:
The response plot:
Solve the deadbeat control problem of determining the control input required to bring the output of a discrete-time system to zero in the smallest number of time steps:
With the poles at the origin, the output of a third-order system is zero in 3 time steps:
Use SystemsModelStateFeedbackConnect to obtain the closed-loop system:
A larger displacement between the open and closed loop pole locations requires a larger control effort:
State feedback does not affect the input-blocking properties of a system:
The input Sin is blocked by both systems:
The closed-loop system will be unobservable if the feedback moves any of the poles to the zeros:
The KNVD method does not handle exact systems when the number of feedback inputs is less than the number of states:
Evaluate numerically:
The KNVD method cannot be used when the pole multiplicity exceeds the number of feedback inputs to the system: