主要内容

线性模型结构

关于系统识别工具箱模型对象

对象是模型类的实例。每一个是一个蓝图,它定义关于模型的以下信息:

  • 对象如何存储数据

  • 可以对对象执行哪些操作

这个工具箱包括9个用于表示模型的类。例如,中的难点表示线性状态空间模型和idnlarx为非线性ARX模型。有关可用模型对象的完整列表,请参见可用的线性模型而且可用的非线性模型

模型属性定义模型对象如何存储信息。模型对象存储了模型的数学形式、输入输出通道名称、单元、估计参数名称和值、参数不确定性、估计报告等信息。例如,中的难点模型有一个InputName属性用于存储一个或多个输入通道名称。

对象上允许的操作被调用方法.在System Identification Toolbox™软件中,一些方法具有相同的名称,但应用于多个模型对象。例如,一步为所有动态系统对象创建步骤响应图。然而,其他方法对于特定的模型对象是唯一的。例如,佳能是状态空间所独有的吗中的难点模型和线性化非线性黑盒模型。

每个类都有一个特殊的方法,称为构造函数,用于创建该类的对象。使用构造函数创建相应类的实例或实例化对象.构造函数名与类名相同。例如,中的难点而且idnlarx分别是实例化线性状态空间模型和非线性ARX模型的类名和构造函数名。

何时构建独立于估计的模型结构

通过显式指定所有必需的模型属性,您可以使用模型构造函数在命令行上创建模型对象。

当你想要:

  • 模拟或分析模型参数对其响应的影响,而不依赖于估计。

  • 在估计之前,指定特定模型参数值的初始猜测。您可以指定参数值的边界,或者预先设置辅助模型信息,或者两者都有。辅助模型信息包括指定输入/输出名称、单位、注释、用户数据等等。

在大多数情况下,您可以使用估计命令来构造和估计模型,而不必单独构造模型对象。例如,估计命令特遣部队使用数据和模型的极点和零的数量创建传递函数模型。同样的,nlarx使用定义回归配置的数据和模型顺序和延迟创建一个非线性ARX模型。有关如何使用单个命令构造和估计模型的信息,请参见模型估计命令

对于灰盒模型,必须首先构造模型对象,然后估计常微分方程或差分方程的参数。

构造线性模型结构的命令

下表总结了“系统标识工具箱”产品中用于表示各种类型线性模型的模型构造函数。

模型估计完成后,可以在MATLAB中识别出相应的模型对象®工作区浏览器的类名。构造函数的名称与其创建的对象的名称相匹配。

有关如何使用单个命令构造和估计模型的信息,请参见模型估计命令

模型构造函数摘要

模型的构造函数 结果模型类
idfrd 非参数频率响应模型。
idproc 连续时间,低阶传递函数(过程模型)。
idpoly

线性输入输出多项式模型:

  • ARX

  • ARMAX

  • 输出误差

  • Box-Jenkins

中的难点

线性状态空间模型。

idtf

线性传递函数模型。

idgrey 线性常微分方程或差分方程(灰盒模型)。编写一个函数,将用户参数转换为状态空间矩阵。也可以将其视为带有用户指定参数化的状态空间模型。

有关何时使用这些命令的详细信息,请参见何时构建独立于估计的模型结构

模型属性

模型属性类别

模型对象存储信息的方式由属性对应的模型类。

每个模型对象都具有用于存储仅与特定模型类型相关的信息的属性。的idtfidgreyidpolyidproc,中的难点模型对象基于idlti超类并继承所有idlti属性。

一般来说,所有模型对象都具有属于以下类别的属性:

  • 输入和输出通道的名称,例如InputName而且OutputName

  • 模型的采样时间,如Ts

  • 时间或频率单位

  • 模型顺序和数学结构(例如,ODE或非线性)

  • 存储估计结果的属性(报告

  • 用户注释,例如笔记而且用户数据

有关获得对象属性帮助的信息,请参阅模型参考页。

查看模型属性和估计参数

下表总结了用于查看和更改模型属性值的命令。属性名不区分大小写。如果前几个字母唯一地标识了属性,则不需要输入整个属性名。

任务 命令 例子
查看所有模型属性及其值 得到

加载示例数据,计算ARX模型,并列出模型属性:

负载iddata8M_arx =arx(z8,[4 3 2 3 0 0 0]);get (m_arx)
访问一个特定的模型属性 使用点表示法

查看一个包含前一模型估计参数的矩阵:

m_arx。一个
对于属性,例如报告,配置为结构的,则使用形式的点表示法model.PropertyName.FieldName
字段名属性的任何字段的名称。

查看ARX模型估计中使用的方法:

m_arx.Report.Method
更改模型属性值 点符号

将所有三个输入通道的输入延迟更改为[1 1 1]ARX模型:

m_arx。InputDelay = [1 1 1]
访问模型参数值和不确定性信息 使用getpargetpvec而且getcov
另请参阅polydataidssdatatfdatazpkdata
  • 查看所有参数属性的表格:

    getpar (m_arx)

  • 查看一个ARX模型的多项式和1个标准不确定度:

    [a,~,~,~, da] = polydata(m_arx)

设置模型属性值和不确定性信息 使用setparsetpvec而且setcov
  • 设置默认参数标签:

    M_arx = setpar(M_arx,“标签”“默认”

  • 设置参数协方差数据:
    M_arx = setcov(M_arx,cov)

获取参数个数 使用nparams

获取参数的个数:

nparams(系统)

另请参阅

在评估之后直接验证每个模型,以帮助调整建模策略。当你没有得到一个令人满意的模型时,你可以尝试不同的模型结构和顺序,或者尝试另一种识别算法。有关验证模型和故障排除模型的详细信息,请参见评估后验证模型