# 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 = e^C^* 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 *e^At^* 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 (*t~0~*) to the
current time (*t*), using a dummy variable τ, we will get closer to our
result. Finally, if we premultiply by e^At^, 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, *e^At^*, 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 *λ* 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 *w~i~\'* is the transpose of the *i*th 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*, *λ*,
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: Off-Diagonal Matrix

### Example: Sympy Calculation

### Example: MATLAB Calculation

### Example: Multiple Methods in MATLAB

he:תורת הבקרה/פתרון משוואת המצב עבור מערכת קבועה
בזמן
