Get Started with System Identification Toolbox
System Identification Toolbox™ provides MATLAB® functions, Simulink® blocks, and an app for dynamic system modeling, time-series analysis, and forecasting. You can learn dynamic relationships among measured variables to create transfer functions, process models, and state-space models in either continuous or discrete time while using time- or frequency-domain data. You can forecast time series using AR, ARMA, and other linear and nonlinear autoregressive modeling techniques.
The toolbox lets you estimate nonlinear system dynamics using Hammerstein-Wiener and Nonlinear ARX models with machine learning techniques such as Gaussian Processes (GP), Support Vector Machines (SVM), and other representations. Alternatively, you can create neural ordinary differential equation (ODE) models using deep learning to capture nonlinear system dynamics. The toolbox lets you perform grey-box system identification for estimating parameters of a user-defined model. You can integrate identified models into Simulink for rapid simulations to enable control design and diagnostic and prognostic applications.
You can perform online parameter and state estimation using extended or unscented Kalman filters and particle filters for adaptive control, fault detection, and soft sensing applications. The toolbox lets you generate C/C++ code for online estimation algorithms to target embedded devices.
- Identify Linear Models Using System Identification App
Identify linear black-box models from single-input/single-output (SISO) data using the System Identification app.
- Identify Linear Models Using the Command Line
Identify linear models from multiple-input/single-output (MISO) data using System Identification Toolbox commands.
- Identify Low-Order Transfer Functions (Process Models) Using System Identification App
Identify continuous-time transfer functions from single-input/single-output (SISO) data using the app.
- Estimate Continuous-Time Grey-Box Model for Heat Diffusion
This example shows how to estimate the heat conductivity and the heat-transfer coefficient of a continuous-time grey-box model for a heated-rod system.
- Identify Nonlinear Black-Box Models Using System Identification App
Identify nonlinear black-box models from single-input/single-output (SISO) data using the System Identification app.
About System Identification
- System Identification Overview
System identification is a methodology for building mathematical models of dynamic systems using measurements of the system’s input and output signals.
- System Identification Workflow
Summary of typical tasks in the system identification workflow.
- Supported Data
System Identification Toolbox software supports estimation of linear models from both time- and frequency-domain data.
- Supported Continuous- and Discrete-Time Models
Types of continuous-time and discrete-time models you can estimate from time- and frequency-domain data.
- Estimating Models Using Frequency-Domain Data
Overview of frequency-domain identification in the toolbox.
- Working with System Identification App
Working with System Identification App.
- What Is Online Estimation?
Estimate states and parameters of a system in real-time.
System Identification Part 1: What is System Identification?
System identification is the process of using data rather than physics to develop a model of a dynamic system. Explore what system identification is and where it fits in the bigger picture.
System Identification Part 2: Linear System Identification
Learn how to use system identification to fit and validate a linear model to data that has been corrupted by noise and external disturbances.
System Identification Part 3: Nonlinear System Identification
Learn about nonlinear system identification by walking through one of the many possible model options—a nonlinear ARX model.
System Identification Part 4: Online and Recursive System Identification
Learn about online system identification. These algorithms estimate the parameters and states of a model as new data is measured and available in real-time or near real-time.