System Identification Toolbox
Create linear and nonlinear dynamic system models from input-output data
Have questions? Contact Sales.
Have questions? Contact Sales.
System Identification Toolbox 提供用于动态系统建模、时间序列分析和预测的 MATLAB 函数、Simulink 模块和 App。您可以了解测得变量之间的动态关系,以使用时域或频域数据创建连续或离散时间的传递函数、过程模型和状态空间模型。您可以使用 AR、ARMA 及其他线性和非线性自回归建模方法来预测时间序列。
本工具箱支持您通过 Hammerstein-Wiener 和非线性 ARX 模型使用机器学习方法(如高斯过程 (GP)、支持向量机 (SVM) 和其他表示法)来估计非线性系统动态特性。您也可以使用深度学习来创建神经常微分方程 (ODE) 模型来捕获非线性系统动态特性。本工具箱可让您执行灰箱系统辨识以估计用户定义模型的参数。您可以将辨识的模型集成到 Simulink 中进行快速仿真,以实现控制设计以及诊断和预后应用。
您可以使用扩展或无迹卡尔曼滤波器和粒子滤波器进行在线参数和状态估计,用于自适应控制、故障检测和软测量应用。该工具箱支持您为在线估计算法生成 C/C++ 代码以部署到嵌入式设备。
使用交互式 App 基于测量数据估计、分析、比较和验证动态模型。借助自动化工作流创建并比较线性、非线性和深度学习模型,并将模型导出到 Simulink,以集成到更大型的系统中。
根据测得的时域或频域数据估计线性模型,用于控制设计、系统仿真和预测等应用。创建连续或离散时间的传递函数、过程模型、状态空间模型和多项式模型。使用频谱分析估计频率响应模型。计算并可视化在时域和频域中参数不确定性对模型响应的影响。
通过估计非线性 ARX 和 Hammerstein-Wiener 模型来捕获系统的非线性动态特性。使用非线性 ARX 模型将自回归模型与由小波网络、树分区和 S 型网络表示的动态非线性结合起来。此外,指定回归量以捕获系统的物理特性,或为非线性 ARX 模型自动选择回归量的最佳子集。使用 Hammerstein-Wiener 模型来估计一个线性系统的输入和输出的非线性。
使用神经常微分方程创建基于深度学习的状态空间模型,直接从数据中学习非线性系统行为。将机器学习和深度学习技术与非线性 ARX 和 Hammerstein-Wiener 结构相结合,并使用 Statistics and Machine Learning Toolbox™ 和 Deep Learning Toolbox™ 中提供的自配置神经网络、树集成和高斯过程来表示非线性。
使用递归算法实时估计系统模型,该算法会在有新数据可用时更新模型参数。使用线性、扩展或无迹卡尔曼滤波器以及粒子滤波器估计系统状态。
使用您估计的模型作为被控对象模型通过 Control System Toolbox 设计和调节控制器。在 Simulink 中使用内置模块实现估计的模型、状态估计器和递归模型,用于系统分析、虚拟传感器建模、降阶建模和控制设计。
使用代码生成为在线故障检测、降阶建模 (ROM) 以及诊断和预测等应用部署估计的模型、状态估计器和递归模型。分别使用 Simulink Coder 和 Simulink PLC Coder 为在 Simulink 中实现的模型生成 C/C++ 代码和 IEC 61131-3 结构化文本。使用 MATLAB Coder 在 MATLAB 中生成 C/C++ 代码。或者,使用 MATLAB Compiler 生成独立应用。
System Identification Toolbox provides MATLAB functions, Simulink blocks, and an app for creating linear and nonlinear dynamic system models from input-output data, enabling time-series analysis and forecasting.
You can create transfer functions, process models, state-space models, nonlinear ARX models, Hammerstein-Wiener models, and neural ODE models in continuous or discrete time using time- or frequency-domain data.
The toolbox estimates nonlinear dynamics using Hammerstein-Wiener and Nonlinear ARX models, leveraging machine learning techniques such as Gaussian processes, support vector machines, and tree ensembles to represent nonlinearities. It also supports deep-learning-based state-space modeling using neural ODEs.
Grey-box system identification lets you model your system using linear or nonlinear differential equations, difference equations, or state-space systems, then estimate specified parameters from measured input-output data.
Yes, you can integrate identified models into Simulink for simulations and use them as plant models for designing and tuning controllers with Control System Toolbox.
Yes, the toolbox enables online parameter and state estimation using extended or unscented Kalman filters and particle filters for adaptive control, fault detection, and soft sensing applications.
Yes, you can generate C/C++ code using MATLAB Coder or Simulink Coder, and IEC 61131-3 Structured Text using Simulink PLC Coder for applications like online fault detection and diagnostics.
The System Identification app lets you interactively estimate linear and nonlinear models by importing and preprocessing time-domain and frequency-domain data, then identifying, comparing, and validating models against test data sets.
The toolbox supports importing frequency-response data (such as Bode plot measurements or FRF data from modal testing) and fitting transfer function or state-space models directly. You can also compute nonparametric frequency-response estimates using spectral analysis methods and then refine them into parametric models.
Use online estimation techniques like extended Kalman filters, unscented Kalman filters, or particle filters to estimate unmeasured system states from available sensor data. These virtual sensors can replace expensive or unreliable physical sensors and can be deployed to embedded hardware using code generation.
Use System Identification Toolbox when your system exhibits dynamic temporal behavior, when datasets are limited or expensive to collect, when model interpretability and stability analysis are required, or when the model must integrate with control or estimation algorithms like MPC or Kalman filtering. Generic machine learning approaches are often better suited for large-data predictive tasks where black-box accuracy is prioritized over physical interpretability, dynamical structure, or control-oriented analysis.
Yes. Use MATLAB Compiler to deploy time-series and system modeling algorithms as standalone applications, Docker containers, or web apps. For embedded systems, generate C/C++ code using MATLAB Coder or Simulink Coder for real-time online estimation and fault detection.