Control Systems/Linear System Solutions

State Equation Solutions
The state equation is a first-order linear differential equation, or (more precisely) a system of linear differential equations. Because this is a first-order equation, we can use results from Ordinary Differential Equations to find a general solution to the equation in terms of the state-variable x. Once the state equation has been solved for x, that solution can be plugged into the output equation. The resulting equation will show the direct relationship between the system input and the system output, without the need to account explicitly for the internal state of the system. The sections in this chapter will discuss the solutions to the state-space equations, starting with the easiest case (Time-invariant, no input), and ending with the most difficult case (Time-variant systems).

Solving for x(t) With Zero Input
Looking again at the state equation:


 * $$x' = Ax(t) + Bu(t)$$

We can see that this equation is a first-order differential equation, except that the variables are vectors, and the coefficients are matrices. However, because of the rules of matrix calculus, these distinctions don't matter. We can ignore the input term (for now), and rewrite this equation in the following form:


 * $$\frac{dx(t)}{dt} = Ax(t)$$

And we can separate out the variables as such:


 * $$\frac{dx(t)}{x(t)} = A dt$$

Integrating both sides, and raising both sides to a power of e, we obtain the result:


 * $$x(t) = e^{At+C}$$

Where C is a constant. We can assign D = eC to make the equation easier, but we also know that D will then be the initial conditions of the system. This becomes obvious if we plug the value zero into the variable t. The final solution to this equation then is given as:


 * $$x(t) = e^{A(t-t_0)}x(t_0)$$

We call the matrix exponential eAt the state-transition matrix, and calculating it, while difficult at times, is crucial to analyzing and manipulating systems. We will talk more about calculating the matrix exponential below.

Solving for x(t) With Non-Zero Input
If, however, our input is non-zero (as is generally the case with any interesting system), our solution is a little bit more complicated. Notice that now that we have our input term in the equation, we will no longer be able to separate the variables and integrate both sides easily.


 * $$x'(t) = Ax(t) + Bu(t)$$

We subtract to get the $$Ax(t)$$ on the left side, and then we do something curious; we premultiply both sides by the inverse state transition matrix:


 * $$e^{-At}x'(t) - e^{-At}Ax(t) = e^{-At}Bu(t)$$

The rationale for this last step may seem fuzzy at best, so we will illustrate the point with an example:

Example
Using the result from our example, we can condense the left side of our equation into a derivative:


 * $$\frac{d(e^{-At}x(t))}{dt} = e^{-At}Bu(t)$$

Now we can integrate both sides, from the initial time (t0) to the current time (t), using a dummy variable &tau;, we will get closer to our result. Finally, if we premultiply by eAt, we get our final result:


 * $$x(t) = e^{A(t-t_0)}x(t_0) + \int_{t_0}^{t}e^{A(t - \tau)}Bu(\tau)d\tau$$

If we plug this solution into the output equation, we get:


 * $$y(t) = Ce^{A(t-t_0)}x(t_0) + C\int_{t_0}^{t}e^{A(t - \tau)}Bu(\tau)d\tau + Du(t)$$

This is the general Time-Invariant solution to the state space equations, with non-zero input. These equations are important results, and students who are interested in a further study of control systems would do well to memorize these equations.

State-Transition Matrix
The state transition matrix, eAt, is an important part of the general state-space solutions for the time-invariant cases listed above. Calculating this matrix exponential function is one of the very first things that should be done when analyzing a new system, and the results of that calculation will tell important information about the system in question.

The matrix exponential can be calculated directly by using a Taylor-Series expansion:


 * $$e^{At} = \sum_{n=0}^\infty \frac{(At)^n}{n!}$$

Also, we can attempt to diagonalize the matrix A into a diagonal matrix or a Jordan Canonical matrix. The exponential of a diagonal matrix is simply the diagonal elements individually raised to that exponential. The exponential of a Jordan canonical matrix is slightly more complicated, but there is a useful pattern that can be exploited to find the solution quickly. Interested readers should read the relevant passages in Engineering Analysis.

The state transition matrix, and matrix exponentials in general are very important tools in control engineering.

Diagonal Matrices
If a matrix is diagonal, the state transition matrix can be calculated by raising each diagonal entry of the matrix raised as a power of e.

Jordan Canonical Form
If the A matrix is in the Jordan Canonical form, then the matrix exponential can be generated quickly using the following formula:


 * $$e^{Jt} = e^{\lambda t} \begin{bmatrix} 1 & t & \frac{1}{2!}t^2 & \cdots & \frac{1}{n!}t^n \\0 & 1 & t & \cdots & \frac{1}{(n-1)!}t^{n-1} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0 & \cdots & 1\end{bmatrix}$$

Where &lambda; is the eigenvalue (the value on the diagonal) of the jordan-canonical matrix.

Inverse Laplace Method
We can calculate the state-transition matrix (or any matrix exponential function) by taking the following inverse Laplace transform:


 * $$e^{At} = \mathcal{L}^{-1}[(sI - A)^{-1}]$$

If A is a high-order matrix, this inverse can be difficult to solve.

If the A matrix is in the Jordan Canonical form, then the matrix exponential can be generated quickly using the following formula:

$$e^{Jt} = e^{\lambda t} \begin{bmatrix} 1 & t & \frac{1}{2!}t^2 & \cdots & \frac{1}{n!}t^n \\0 & 1 & t & \cdots & \frac{1}{(n-1)!}t^{n-1} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0 & \cdots & 1\end{bmatrix}$$

Where λ is the eigenvalue (the value on the diagonal) of the jordan-canonical matrix.

Spectral Decomposition
If we know all the eigenvalues of A, we can create our transition matrix T, and our inverse transition matrix T-1 These matrices will be the matrices of the right and left eigenvectors, respectively. If we have both the left and the right eigenvectors, we can calculate the state-transition matrix as:


 * $$ e^{At} = \sum_{i = 1}^ne^{\lambda_i t} v_i w_i'$$

Note that wi'  is the transpose of the ith left-eigenvector, not the derivative of it. We will discuss the concepts of "eigenvalues", "eigenvectors", and the technique of spectral decomposition in more detail in a later chapter.

Cayley-Hamilton Theorem
The Cayley-Hamilton Theorem can also be used to find a solution for a matrix exponential. For any eigenvalue of the system matrix A, &lambda;, we can show that the two equations are equivalent:


 * $$e^{\lambda t} = a_0 + a_1 \lambda t + a_2 \lambda^2t^2 + \cdots + a_{n-1}\lambda^{n-1}t^{n-1}$$

Once we solve for the coefficients of the equation, a, we can then plug those coefficients into the following equation:


 * $$e^{At} = a_0I + a_1 A t + a_2 A^2 t^2 + \cdots + a_{n-1} A^{n-1} t^{n-1}$$

Example: Multiple Methods in MATLAB
תורת הבקרה/פתרון משוואת המצב עבור מערכת קבועה בזמן