Project # 1Linear Control Theory

last updated: Nov 22,1997


This project is interested in controlling discrete linear dynamical systems which are of the form

                 x(k+1) = Ax(k) x(0) given

or               x(k+1) = A(k)x(k).      (A varies with time)           x(0) given.

This work will provide an introduction to the science of control theory, an important area in several branches of engineering.

The solutions of such systems may be called "natural" solutions; they show how the system behaves in the absence of any external effects.

Background matrix algebra, notion of rank ( chapter 4 esp. 4.4 of Kolman, chapter 3 Bretscher, chapter 3 Leon)

note: in what follows, a superscript of t indicates transpose of a matrix, which in this case makes a row into a column

Here we seek to get the system to behave in a manner we desire, as opposed to the way that it would behave if left alone. In trying to accomplish this, we are trying to "control" the system.

The form that our system takes on will be

                     x(k+1) = A x(k) + Bu(k)                  x(0) = 0

and, given a vector g , we try to see if we can impose a sequence of controls u(0), u(1), u(2),... so that at some time T, x(T) = (we use g for "goal") . If this can be done for any g in Rn, we say the system is controllable.

Mathematical Development

To clarify the notation, consider the systems whose scalar form are

example 1:

                 x(k+1) = u1(k)

                 y(k+1) = x(k) + y(k) + 2u1(k)

then in matrix form it is

                x(k+1) = Ax(k) + Bu(k)


and also remark that there is only one control, u1

Example 2:

          x(k+1) = x(k) + 2y(k) + z(k) + u1(k) - u2(k)            x(0) = 0

           y(k+1) = 2 x(k) + 4y(k) + 2z(k) + 2u1(k)               y(0) = 0

           z(k+1) = 3x(k) + 6y(k) + 3z(k) + u1(k) +2u2(k)      z(0) = 0

then in matrix form it is

          x(k+1) = Ax(k) + Bu(k)


In general, if x is in Rn and there are m controls (so u(k) is an mx1 column ), then B must be an n x m matrix which essentially determines the effect of the different controls on the different states (so the number of columns of B is the number of controls)

At this point, let us solve the system iteratively:

x(1) = Ax(0) + Bu(0) = Bu(0)          ( since x(0) = 0 )

x(2) = Ax(1) + Bu(1) = ABu(0) + Bu(1)        (since x(1) = Bu(0) )

x(3) = Ax(2) + Bu(2) = A(ABu(0) + Bu(1) ) + Bu(2) = A2 Bu(0) + ABu(1) + Bu(2)

so it would appear that in general,

x(k+1) = AkBu(0) + Ak-1Bu(1) + Ak-2Bu (2) + . . . +Bu(k)

and that we have a linear combination of matrices of the form AiB which we would like to to yield the vector g, our target. These matrices are important and central enough to deserve a name as a group:

Definition The n x nm matrix

M = (B, AB, A2B,. . . , An-1B)

is called the controllability matrix of the system. Thus in example1, the controllability matrix would be

(the reader is encouraged to verify the details!), while in example 2, the controllability matrix would be

A major result concerns how long it takes to get the system under control. It turns out that if the system can be controlled; that is, gotten to the desired goal, g, then it can be done in n steps or less, where n is the number of states in the system.

Theorem 1 After n units of time, the rank of M does not increase

Theorem 2 The system is controllable if the rank of M is n

Example 1: suppose our target or goal is g = (5 7)t. This means, based upon the above results, that we seek a control at time 0, u(0), and a control at time 1, u(1), so that

        x(2) = 5 and y(2) = 7. From the iterative solution, this means u(0) and u(1) must satisfy

        g = ABu(0) + Bu(1)

This is a system of 2 equations and 2 unknowns whose augmented matrix can be easily shown to be

(we note that the coefficient part of the matrix is M, the controllability matrix! Also the right hand side is the goal vector). The final form of this matrix is

so our controls are u(1) = 5 and u(0) = -1. We check that these do, in fact, get us to the target by simulating the system:

                x(1) = A x(0) + Bu(0) = A 0 - B = ( -1 -2 )t

     and      x(2) = Ax(1) + Bu(1) = A(-1 -2)t + 5B = (0 -3)t + 5 (1 2)t = ( 5 7)t

so the controls did get us to our desired goal, (5  7) t

Example 2 Suppose our goal is (0 10 20)t . Then the previous theorems tell us that if we can get there (if the system is controllable), then we can do it in 3 steps. The rank of the controllability matrix is easily shown to be three, so the system is controllable. To find the sequence of controls, we seek u(0), u(1) and u(2) (these are 2 dimensional vectors this time) so that x(3) = (0 10 20)t . We know that

                x(3) = A2Bu(0) + AB u(1) + Bu(0)

so we solve the system whose augmented matrix is

(correction: the entry in the last row, 6th column is 1.333, or 4/3)

               u1(2) = 5/2         u2(2) = 5

and the controls at times 1 and 2 must satisfy

u1(1) + (1/6)u2(1) + 8u1(0) + (4/3)u2(0) = 5/12

( the decimal .417 has been converted to the fraction 5/12)

We note that the system is underdetermined, and that three of the controls may be taken arbitrarily. To keep things simple, we set

u2(1) = u1(0) = u2(0) = 0    so that          u1(1) = 5/12

in doing so noting that this means we can actually get to the target in two steps, since we do nothing additional at time 1. To summarize, the sequence of controls

u(2) = (5/2   5)    u(1) = (0      0)t      u(0) = (0    5/12)t

will get us to (0    10    20)t   at time k= 2 , our goal.

Example 3. Suppose we have the same natural system as in example 2, but only one control and that the matrix B is

  (1 1 5)t.  ` Then the controllability matrix is

which may be shown to have a rank of only two. Hence the system is not controllable. For example, there is no sequence of controls that will get us from the origin to (10 10 8)t. For if there were, they would be given by solving the system whose augmented matrix is

with final form

indicating no solution exists, so we cannot reach the desired goal of (10 10 8)t.   This does not mean that there is nowhere that we can reach; for example     (9  17  29)t is reachable with many controls, the simplest being

               u(0) = u(1) = 1 and    u(2) = 0.

General Algorithm: to find controls to reach a goal of g, set up the augmented matrix ( B AB A2B . . . An-1B |g) and reduce to RREF. The solution will yield the sequence of controls in the order u(n-1) u(n-2) u(0) in that order.


1. For the system whose coefficient matrix is

a. for a single control system where B = (1 1 1)t set up the controllability matrix

b. determine if the system is controllable or not

c. augment your controllability matrix from part a with an additional column, A3B and determine whether the rank increases or not. When you are done, add a 5th column, A4B and repeat. What part of the discussion in the material above does this demonstrate?

d. let B be a completely arbitrary column vector and show that the system is still not controllable (let B have variable entries to accomplish this)

2. For the system whose coefficient matrix is

a. find a matrix B for a single control so that the system is controllable and a second matrix B2 so that the system is not controllable

b. if the initial state of the system is 0, using your first matrix B from part find a sequence of controls that will bring the system to ( 3 7 1)t

3. a. make up a 3x3 matrix A which is invertible. What does that mean its rank will be?

b. show, using your matrix, that the related system will always be controllable (no matter what B is) for a single control (hint: as in problem 1, use an arbitrary column B and the symbolic capability of Maple)

c. What conjecture can you state based upon parts a and b ?

4. Suppose the system has 4 states and 2 controls.

a. what size will B be? what size will M be?

b. if the system is controllable, how many of the controls will we be able to specify arbitrarily? could we get to the goal sooner than t =4 ?

c. same as parts a and b but assume there are 3 controls instead.


Luenberger, D.G. Dynamic Systems New York, 1979. John Wiley and Sons.