State-space models of linear dynamical systems

Matrices > Applications > State-space models

Definition

Many discrete-time dynamical systems can be modeled via linear state-space equations, of the form

 x(t+1) = Ax(t) + Bu(t), ;; y(t) = Cx(t) + Du(t), ;; t=0,1,2,ldots

where x(t) in mathbf{R}^n is the state, which encapsulates the state of the system at time t, u(t) in mathbf{R}^p contains control variables, y(t) in mathbf{R}^k contains specific outputs of interest, and A,B,C,D are matrices of appropriate size.

In effect, a linear dynamical model postulates that the state at the next instant is a linear function of the state at past instants, and possibly other ‘‘exogeneous’’ inputs; and that the output is a linear function of the state and input vectors.

A continuous-time model would take the form of a differential equation

 frac{d}{dt} x(t) = A x(t) + Bu(t), ;; y(t) = Cx(t) + Du(t), ;; tge0.

Finally, the so-called time-varying models involve time-varying matrices A,B,C,D (see an example below).

Motivation

The main motivation for state-space models is to be able to model high-order derivatives in dynamical equations, using only first-order derivatives, but involving vectors instead of scalar quantities.

alt text 

Consider for example the second-order differential equation

 m ddot{y}(t) + c dot{y}(t) + ky(t) = u(t),

which describes the evolution of a damped mass-spring system, with u the external force acting on the mass, and y the vertical position. (Here dot{y} and ddot{y} are the first and second derivatives of y, respectively.)

The above involves second-order derivatives of a scalar function y(cdot). We can express it in an equivalent form involving only first-order derivatives, by defining the state vector to be

 x(t) := left(begin{array}{c}y(t)dot{y}(t) end{array}right) .

The price we pay is that now we deal with a vector equation instead of a scalar equation:

 dot{x}(t) =  left( begin{array}{cc}0&1-frac{c}{m}&-frac{k}{m} end{array}right) x(t) + left( begin{array}{c} 0  1end{array}right)u(t).

The position y(t) is a linear function of the state:

 y(t) = C x(t),

with C = (1,0).

A nonlinear system

In the case of non-linear systems, we can also use state-space representations. In the case of autonomous systems (no external input) for example, these come in the form

 dot{x}(t) = f(x(t))

where f : mathbf{R}^{n+p} rightarrow mathbf{R}^n is now a non-linear map. Now assume we want to model the behavior of the system near an equilibrium point x_0 (such that f(x_0) = 0). Let us assume for simplicity that x_0 = 0.

Using the first-order approximation of the map f, we can write a linear approximation to the above model:

 frac{d}{dt} x(t) = A x(t), ;; tge0.

where

 A = frac{partial f}{partial x} (0).
alt text 

The motion of a pendulum can be described by the dimensionless nonlinear equation

 ddot{theta} = -sin theta

The linearization around the equilibrium point theta = 0 yields ddot{theta} = - theta. The linearization around the equilibrium point theta = pi yields ddot{theta} = 1 - theta.