对象是模型类的实例。每一个类是一个蓝图,它定义关于模型的以下信息:
对象如何存储数据
可以对对象执行哪些操作
这个工具箱包括9个用于表示模型的类。例如,中的难点
表示线性状态空间模型和idnlarx
为非线性ARX模型。有关可用模型对象的完整列表,请参见可用的线性模型而且可用的非线性模型.
模型属性定义模型对象如何存储信息。模型对象存储了模型的数学形式、输入输出通道名称、单元、估计参数名称和值、参数不确定性、估计报告等信息。例如,中的难点
模型有一个InputName
属性用于存储一个或多个输入通道名称。
对象上允许的操作被调用方法.在System Identification Toolbox™软件中,一些方法具有相同的名称,但应用于多个模型对象。例如,一步
为所有动态系统对象创建步骤响应图。然而,其他方法对于特定的模型对象是唯一的。例如,佳能
是状态空间所独有的吗中的难点
模型和线性化
非线性黑盒模型。
每个类都有一个特殊的方法,称为构造函数,用于创建该类的对象。使用构造函数创建相应类的实例或实例化对象.构造函数名与类名相同。例如,中的难点
而且idnlarx
分别是实例化线性状态空间模型和非线性ARX模型的类名和构造函数名。
通过显式指定所有必需的模型属性,您可以使用模型构造函数在命令行上创建模型对象。
当你想要:
模拟或分析模型参数对其响应的影响,而不依赖于估计。
在估计之前,指定特定模型参数值的初始猜测。您可以指定参数值的边界,或者预先设置辅助模型信息,或者两者都有。辅助模型信息包括指定输入/输出名称、单位、注释、用户数据等等。
在大多数情况下,您可以使用估计命令来构造和估计模型,而不必单独构造模型对象。例如,估计命令特遣部队
使用数据和模型的极点和零的数量创建传递函数模型。同样的,nlarx
使用定义回归配置的数据和模型顺序和延迟创建一个非线性ARX模型。有关如何使用单个命令构造和估计模型的信息,请参见模型估计命令.
对于灰盒模型,必须首先构造模型对象,然后估计常微分方程或差分方程的参数。
下表总结了“系统标识工具箱”产品中用于表示各种类型线性模型的模型构造函数。
模型估计完成后,可以在MATLAB中识别出相应的模型对象®工作区浏览器的类名。构造函数的名称与其创建的对象的名称相匹配。
有关如何使用单个命令构造和估计模型的信息,请参见模型估计命令.
模型构造函数摘要
有关何时使用这些命令的详细信息,请参见何时构建独立于估计的模型结构.
模型对象存储信息的方式由属性对应的模型类。
每个模型对象都具有用于存储仅与特定模型类型相关的信息的属性。的idtf
,idgrey
,idpoly
,idproc
,中的难点
模型对象基于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 |
|
更改模型属性值 | 点符号 | 将所有三个输入通道的输入延迟更改为 m_arx。InputDelay = [1 1 1] |
访问模型参数值和不确定性信息 | 使用getpar ,getpvec 而且getcov 另请参阅: polydata ,idssdata ,tfdata ,zpkdata |
|
设置模型属性值和不确定性信息 | 使用setpar ,setpvec 而且setcov |
|
获取参数个数 | 使用nparams |
获取参数的个数: nparams(系统) |
在评估之后直接验证每个模型,以帮助调整建模策略。当你没有得到一个令人满意的模型时,你可以尝试不同的模型结构和顺序,或者尝试另一种识别算法。有关验证模型和故障排除模型的详细信息,请参见评估后验证模型.