Section 10–3 / Solving Pole-placement Problems with MATLAB 735Comments. It is important to note that matrix Kis not unique for a given system,
but depends on the desired closed-loop pole locations (which determine the speed and
damping of the response) selected. Note that the selection of the desired closed-loop
poles or the desired characteristic equation is a compromise between the rapidity of the
response of the error vector and the sensitivity to disturbances and measurement nois-
es. That is, if we increase the speed of error response, then the adverse effects of distur-
bances and measurement noises generally increase. If the system is of second order,
then the system dynamics (response characteristics) can be precisely correlated to the
location of the desired closed-loop poles and the zero(s) of the plant. For higher-order
systems, the location of the closed-loop poles and the system dynamics (response char-
acteristics) are not easily correlated. Hence, in determining the state feedback gain ma-
trixKfor a given system, it is desirable to examine by computer simulations the response
characteristics of the system for several different matrices K(based on several different
desired characteristic equations) and to choose the one that gives the best overall system
performance.
10–3 Solving Pole-Placement Problems with MATLAB
Pole-placement problems can be solved easily with MATLAB. MATLAB has two
commands—ackerandplace—for the computation of feedback-gain matrix K.The
commandackeris based on Ackermann’s formula. This command applies to single-input
systems only. The desired closed-loop poles can include multiple poles (poles located at
the same place).
If the system involves multiple inputs, for a specified set of closed-loop poles the
state-feedback gain matrix Kis not unique and we have an additional freedom (or free-
doms) to choose K.There are many approaches to constructively utilize this additional
freedom (or freedoms) to determine K. One common use is to maximize the stability
margin. The pole placement based on this approach is called the robust pole placement.
The MATLAB command for the robust pole placement is place.
Although the command placecan be used for both single-input and multiple-input
systems, this command requires that the multiplicity of poles in the desired closed-loop
poles be no greater than the rank of B. That is, if matrix Bis an n*1matrix, the
commandplacerequires that there be no multiple poles in the set of desired closed-
loop poles.
For single-input systems, the commands ackerandplaceyield the same K. (But for
multiple-input systems, one must use the command placeinstead of acker.)
It is noted that when the single-input system is barely controllable, some computa-
tional problem may occur if the command ackeris used. In such a case the use of the
placecommand is preferred, provided that no multiple poles are involved in the de-
sired set of closed-loop poles.
To use the command ackerorplace, we first enter the following matrices in the
program:
Amatrix, Bmatrix, Jmatrix
whereJmatrix is the matrix consisting of the desired closed-loop poles such that
J= Cm 1 m 2 p mnD