State-space models are models that use state variables to describe a system by a set of first-order differential or difference equations, rather than by one or more nth-order differential or difference equations. If the set of first-order differential equation is linear in the state and input variables, the model is referred to as a linear state space model.
Generally, the System Identification Toolbox™ documentation refers to linear state space models simply as state-space models. You can also identify nonlinear state space models using grey-box and neural state-space objects. For more information, see Available Nonlinear Models.
The linear state-space model structure is a good choice for quick estimation because it requires you to specify only one parameter, the model order n. The model order is an integer equal to the dimension of x(t) and relates to, but is not necessarily equal to, the number of delayed inputs and outputs used in the corresponding linear difference equation. State variables x(t) can be reconstructed from the measured input/output data, but are not themselves measured during an experiment.
Defining a parameterized state-space model in continuous time is often easier than in discrete time because physical laws are most often described in terms of differential equations. In continuous time, the linear state-space description has the following form:
The matrices F, G, H, and D contain elements with physical significance—for example, material constants. K contains the disturbance matrix. x0 specifies the initial states.
You can estimate a continuous-time state-space model using both time-domain and frequency-domain data.
The discrete-time linear state-space model structure is often written in the innovations form, which describes noise:
Here, T is the sample time, u(kT) is the input at the time instant kT, and y(kT) is the output at the time instant kT.
You cannot estimate a discrete-time state-space model using continuous-time frequency-domain data.
For more information, see What Are State-Space Models?
|System Identification||Identify models of dynamic systems from measured data|
Live Editor Tasks
|Estimate State-Space Model||Estimate state-space model using time or frequency data in the Live Editor|
Create State-Space Model
|State-space model with identifiable parameters|
|Estimate state-space model using time-domain or frequency-domain data|
|Estimate state-space model by reduction of regularized ARX model|
|Estimate state-space model using subspace method with time-domain or frequency-domain data|
|Estimate state-space model from impulse response data using Eigensystem Realization Algorithm (ERA)|
|Prediction error minimization for refining linear and nonlinear models|
Model Initialization and Structure Parameters
|Estimate time delay (dead time) from data|
|Estimate initial states of model|
|Quick configuration of state-space model structure|
|Set or randomize initial parameter values|
|Create parameter for initial states and input level estimation|
Extract or Set Model Parameters
|Option set for ssest|
|Option set for |
|Option set for |
|Option set for |
State-Space Model Basics
- What Are State-Space Models?
State-space models are models that use state variables to describe a system by a set of first-order differential or difference equations, rather than by one or more nth-order differential or difference equations.
- State-Space Model Estimation Methods
Choose between noniterative subspace methods, iterative methods that use prediction error minimization algorithm, and noniterative methods.
- Estimate State-Space Model With Order Selection
Select a model order for a state-space model structure in the app and at the command line.
- State-Space Realizations
A state-space model can be expressed in an infinite number of realizations. Common forms, sometimes called canonical forms, include modal, companion, observable, and controllable forms.
- Data Supported by State-Space Models
You can use time-domain and frequency-domain data that is real or complex and has single or multiple outputs.
Estimate State-Space Models
- Estimate State-Space Models in System Identification App
Use the app to specify model configuration options and estimation options for model estimation.
- Estimate State-Space Models at the Command Line
Perform black-box or structured estimation.
- Estimate State-Space Models with Canonical Parameterization
Canonical parameterization represents a state-space system in a reduced parameter form where many elements of A, B and C matrices are fixed to zeros and ones.
- Estimate State-Space Equivalent of ARMAX and OE Models
This example shows how to estimate ARMAX and OE-form models using the state-space estimation approach.
- Estimate State-Space Models with Free-Parameterization
Free Parameterization is the default; the estimation routines adjust all the parameters of the state-space matrices.
- Use State-Space Estimation to Reduce Model Order
Reduce the order of a Simulink® model by linearizing the model and estimating a lower order model that retains model dynamics.
- System Identification Using Eigensystem Realization Algorithm (ERA)
Estimate state-space model from impulse response data using Eigensystem Realization Algorithm (ERA).
Structured Estimation, Innovations Form
- Estimate State-Space Models with Structured Parameterization
Structured parameterization lets you exclude specific parameters from estimation by setting these parameters to specific values.
- Identifying State-Space Models with Separate Process and Measurement Noise Descriptions
An identified linear model is used to simulate and predict system outputs for given input and noise signals.
Set State-Space model Options
- Supported State-Space Parameterizations
System Identification Toolbox software supports various parameterization combinations that determine which parameters are estimated and which parameters remain fixed to specific values.
- Specifying Initial States for Iterative Estimation Algorithms
When you estimate state-space models, you can specify how the algorithm treats initial states.