主要内容

本页采用了机器翻译。点击此处可查看英文原文。

线性和非线性灰盒建模

如果您了解系统的物理原理,并且能够使用包含未知参数的常微分方程 (ODE) 或差分方程来描述该系统,那么就可以使用 System Identification Toolbox™ 命令进行线性和非线性灰盒建模。灰盒模型 ODE 明确指定模型的数学结构,包括参数之间的耦合。当您了解变量之间的关系、模型行为的约束或表示系统动态特性的显式方程时,灰盒建模是很有用的。

您可以分别使用 idgreyidnlgrey 对象来表示线性和非线性灰盒模型。

该工具箱同时支持连续时域和离散时域的线性及非线性模型。不过,由于大多数物理定律都是以连续时间形式表示的,因此与离散时间模型相比,通常更容易基于物理机理构建连续时间模型。

除了动态投入产出模型外,您还可以创建没有输入的时间序列模型,以及没有状态的静态模型。

如果难以用已知的物理定律来描述您的系统,您可以采用黑盒建模方法。有关详细信息,请参阅线性模型辨识非线性模型辨识

您还可以使用 idss 模型进行结构化模型估计,通过其 Structure 属性来固定或解锁特定参数。然而,您无法使用这种方法来估计任意结构(任意参数化)。有关结构矩阵的信息,请参阅Estimate State-Space Models with Structured Parameterization

选择 idgreyidnlgrey 模型对象

灰盒模型要求您在文件中指定常微分方程 (ODE) 模型的结构。您可以使用此文件来创建 idgreyidnlgrey 模型对象。您可以同时使用 idgreyidnlgrey 对象来对线性系统进行建模。不过,您只能使用 idnlgrey 模型对象来表示非线性动态特性。

idgrey 对象要求您编写一个函数,以状态空间形式描述线性动态特性,使得该文件能够返回作为您所设参数函数的状态空间矩阵。有关详细信息,请参阅Estimate Linear Grey-Box Models

idnlgrey 对象要求您编写一个函数或 MEX 文件,将动态特性描述为一组一阶微分方程,使得该文件能够返回作为时间、输入、状态和参数值函数的输出和状态导数。有关详细信息,请参阅Estimate Nonlinear Grey-Box Models

下表对比了 idgreyidnlgrey 模型对象。

idgreyidnlgrey 对象的比较

设置与操作idgrey 提供支持?idnlgrey 提供支持?
为参数值设置边界。
分别处理初始状态。
执行线性分析

例如,使用 bode 命令。

遵守稳定性约束条件。

使用 Advanced.StabilityThreshold 估计选项指定约束条件。有关详细信息,请参阅 greyestOptions

注意

如果已知参数边界,则可以使用这些边界来确保 idnlgrey 模型的稳定性。

估计一个扰动模型。

在状态空间方程中,扰动模型由 K 表示。

优化用于仿真或预测的估计结果。

Focus 估计选项设置为 'simulation''prediction'。有关详细信息,请参阅 greyestOptions

由于 idnlgrey 模型是输出-误差模型,因此仿真结果与预测结果之间没有差异。

由灰盒模型支持的数据

对于具有以下特征的数据,您可以对其进行连续时或离散时的灰盒模型估计:

  • 时域或频域数据,包括无输入的时间序列数据。

    注意

    非线性灰盒模型仅支持时域数据。

  • 单输出或多输出数据

您必须先将数据导入到 MATLAB® 工作区中。您必须将数据表示为 iddataidfrd 对象。有关为辨识准备数据的更多信息,请参阅数据准备

另请参阅

| |

主题