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.
Use ss model objects to represent state-space models.
Explicit continuous-time state-space models have the following form:
dx/dt= A x + B u= C x + D u
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]+ B u[n]
y[n]=Cx[n]+ D u[n]
where the vectors x[n], u[n], and y[n] are the state, input, and output vectors for the nth sample.
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:
E(dx/dt)= A x + B u= C x + D u
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.
Use the commands described in the following table to create state-space models.
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:
dx/dt= A x + B u
y= C x + D u
where the state variables are the angular position θ and angular velocity dθ/dt:
x=[θ dθ/dt]
u is the electric current, the output y is the angular velocity, and the state-space matrices are:
A=[0 1
-5 −2], B=[0 3], C=[0 1], 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.
To represent a system of the form:
Edxdtand= A x + B u= C x + D u
use dss. This command creates a ss model with a nonempty E matrix, also called a descriptor state-space model.