Main Content

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:

dxdt=Ax+Buy=Cx+Du

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:

x[n+1]=Ax[n]+Bu[n]y[n]=Cx[n]+Du[n]

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:

Edxdt=Ax+Buy=Cx+Du

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:

dxdt=Ax+Buy=Cx+Du

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

x=[θdθdt],

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

A=[0152],B=[03],C=[01],D=[0].

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:

Edxdt=Ax+Buy=Cx+Du

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.

See Also

| |

Related Examples

More About