## State-Space Models

### State-Space Model Representations

State-space models rely on linear differential equations or difference equations to describe system dynamics. Control System Toolbox™ software supports SISO or MIMO state-space models in continuous or discrete time. State-space models can include time delays. You can represent state-space models in either explicit or descriptor (implicit) form.

State-space models can result from:

• Linearizing a set of ordinary differential equations that represent a physical model of the system.

• State-space model identification using System Identification Toolbox™ software.

• State-space realization of transfer functions. (See Conversion Between Model Types for more information.)

Use `ss` model objects to represent state-space models.

### Explicit State-Space Models

Explicit continuous-time state-space models have the following form:

`$\begin{array}{c}\frac{dx}{dt}=Ax+Bu\\ y=Cx+Du\end{array}$`

where x is the state vector. u is the input vector, and y is the output vector. A, B, C, and D are the state-space matrices that express the system dynamics.

A discrete-time explicit state-space model takes the following form:

`$\begin{array}{c}x\left[n+1\right]=Ax\left[n\right]+Bu\left[n\right]\\ y\left[n\right]=Cx\left[n\right]+Du\left[n\right]\end{array}$`

where the vectors x[n], u[n], and y[n] are the state, input, and output vectors for the nth sample.

### Descriptor (Implicit) State-Space Models

A descriptor state-space model is a generalized form of state-space model. In continuous time, a descriptor state-space model takes the following form:

`$\begin{array}{c}E\frac{dx}{dt}=Ax+Bu\\ y=Cx+Du\end{array}$`

where x is the state vector. u is the input vector, and y is the output vector. A, B, C, D, and E are the state-space matrices.

### Commands for Creating State-Space Models

Use the commands described in the following table to create state-space models.

CommandDescription
`ss`

Create explicit state-space model.

`dss`

Create descriptor (implicit) state-space model.

`delayss`

Create state-space models with specified time delays.

### Create State-Space Model From Matrices

This example shows how to create a continuous-time single-input, single-output (SISO) state-space model from state-space matrices using `ss`.

Create a model of an electric motor where the state-space equations are:

`$\begin{array}{c}\frac{dx}{dt}=Ax+Bu\\ y=Cx+Du\end{array}$`

where the state variables are the angular position θ and angular velocity /dt:

`$x=\left[\begin{array}{c}\theta \\ \frac{d\theta }{dt}\end{array}\right],\text{ }\text{ }$`

u is the electric current, the output y is the angular velocity, and the state-space matrices are:

`$A=\left[\begin{array}{cc}0& 1\\ -5& -2\end{array}\right],\text{ }B=\left[\begin{array}{c}0\\ 3\end{array}\right],\text{ }C=\left[\text{ }\begin{array}{cc}0& 1\end{array}\right],\text{ }D=\left[\text{ }0\text{ }\right].$`

To create this model, enter:

```A = [0 1;-5 -2]; B = [0;3]; C = [0 1]; D = 0; sys = ss(A,B,C,D); ```

`sys` is an `ss` model object, which is a data container for representing state-space models.

Tip

To represent a system of the form:

`$\begin{array}{c}E\frac{dx}{dt}=Ax+Bu\\ y=Cx+Du\end{array}$`

use `dss`. This command creates a `ss` model with a nonempty `E` matrix, also called a descriptor state-space model. See MIMO Descriptor State-Space Models for an example.