主要内容

状态空间模型的估计

状态空间模型的估计在编辑器现场使用时间或频率数据

自从R2019b

描述

状态空间模型的估计任务可以交互式地估计和状态空间模型验证使用时间或频率数据。您可以定义和改变模型结构和指定可选的参数,如初始条件处理和搜索方法。任务自动生成MATLAB®您的生活脚本代码。一般住编辑任务的更多信息,请参阅交互式任务添加到脚本

状态空间模型是模型,用状态变量来描述一个系统由一组的一阶微分或差分方程,而不是由一个或多个n阶微分或差分方程。状态变量可以从测量重建的投入产出数据,但本身并不是在实验测量。

状态空间模型的结构是一个不错的选择,快速估计,因为它只需要你指定一个输入,这个模型秩序。关于状态估计的更多信息,请参阅状态空间模型是什么?

状态空间模型的估计任务是独立的系统识别应用程序使用。系统识别应用时要计算和比较估计多个模型结构。

首先,包含输入和输出数据的实验数据加载到MATLAB工作区,然后将这些数据导入任务。然后指定一个模型结构来估计。给你的任务控制和情节,帮助你尝试不同的模型参数和比较每个模型的输出符合测量。

相关功能

的代码状态空间模型的估计生成使用以下功能。

估计一个任务中的难点状态空间模型。

打开任务

添加状态空间模型的估计任务一个居住在MATLAB脚本编辑器:

  • 住编辑器选项卡上,选择任务>状态空间模型的估计

  • 在一个代码块在你的脚本中,输入相关的关键字,例如状态,空间,或估计。选择估计状态空间模型从建议命令完成。

例子

全部展开

使用状态空间模型的估计住编辑任务估计和比较模型的输出状态空间模型来测量数据。

打开这个例子中看到一个预配置脚本包含任务。

设置数据

加载测量数据iddata1MATLAB的工作区。

负载iddata1z1z1
z1 =时域与300个样本数据集。样品时间:0.1秒(如果指定了的话)y1输入输出单元(如果指定了的话)u1

将数据导入任务

选择数据节中,设置数据类型数据对象并设置评估对象z1

对象包含的数据输入和输出变量名称以及样品的时间,所以你不需要指定它们。

估计模型使用默认设置

检查模型结构和可选的参数。

指定模型结构节中,工厂订单设置的默认值4模型是在连续时间域。以下方程参数在这一节中显示指定的结构。

指定可选参数节中,参数显示状态估计的默认选项。

执行的任务住编辑器标签使用运行。一块显示估计的数据,估计模型输出,适合百分比。

实验参数设置

实验参数的设置,看看他们如何影响健康。

例如,在指定模型结构,估计干扰选择框,所以扰动矩阵K是出现在方程。如果你清楚盒子,K词就消失了。运行更新配置,看看如何适应变化。

改变工厂订单设置为选择最佳值范围。默认设置是1:10

当您运行模型,模型顺序选择图显示每个国家的贡献模型动态行为。最初的任务设置其他参数,情节显示2为模型的推荐顺序。

通过点击接受了这个建议应用,看看这种变化如何影响健康。

生成代码

显示任务生成的代码,点击底部的参数部分。你所看到的反映出当前的代码参数的配置任务。

使用单独的评估和验证数据,这样您就可以验证状态空间模型的估计。

打开这个例子中看到一个预配置脚本包含任务。

设置数据

负荷测量数据iddata1到你的MATLAB工作区并检查其内容。

负载iddata1z1z1
z1 =时域与300个样本数据集。样品时间:0.1秒(如果指定了的话)y1输入输出单元(如果指定了的话)u1

提取的输入和输出测量。

u = z1.u;y = z1.y;

把数据分成两组,一半为验证估计和1/2。原始数据集有300个样本,所以每一个新的数据集有150个样本。

u_ = u (1:15);u_val = u (151:300);y_est = y (1:15);y_val = y (151:300);

数据导入任务

选择数据节中,设置数据类型时间。集样品时间0.1秒,这是在最初的样品时间iddata对象z1。选择适当的评估和验证数据集。

评估和验证模型

这个例子估计与生活状态空间模型编辑器的任务推荐一个模型2。使用这个值工厂订单。离开其他参数的默认值。请注意,输入通道指的不是输入数据集,但通道指数在输入数据集,它总是单输入系统u1

执行的任务住编辑器标签使用运行。执行任务创建两个地块。第一个情节显示了估计的结果和第二个图显示了验证的结果。

适合估计的数据有点比估计与生活状态空间模型编辑器的任务。估计在当前的例子中,只有一半的数据来估计模型。适合验证数据,代表模型的善良更普遍的是,比适合估计数据。

参数

全部展开

选择数据

任务接受数字测量值均匀采样。输入和输出信号可以包含多个频道。可以包装成数值数组(数据时间频率)或在一个数据对象,例如一个iddataidfrd对象。

您选择的数据类型决定了你是否必须指定额外的参数。

  • 时间——指定样品时间开始时间在您选择的时间单位。

  • 频率——指定频率通过选择频率向量的变量名在MATLAB工作区。指定这个频率的单位向量。指定样品时间在几秒钟内。

  • 数据对象——指定数据对象没有额外的参数,因为已经包含在时间和频率采样信息。

从MATLAB选择输入和输出变量名工作区选择。使用这些参数数据类型时间频率

从MATLAB工作区选择数据对象变量名称的选择。使用这个参数时数据类型数据对象

从工作区中选择输入和输出变量名的选择。使用这些参数数据类型时间频率。指定验证数据是可选的,但是建议您这样做。

从MATLAB工作区选择数据对象变量名称的选择。使用这个参数时数据类型数据对象。指定验证数据是可选的,但是建议您这样做。

指定模型结构

任务允许您指定一个值或一个范围的值的顺序模型来估计。

  • 指定的值——显式地指定模式的顺序。

  • 选择最佳值范围——指定一个范围的值,如1:10。运行的任务时,汉克尔奇异值图可视化的相对能量贡献估计模型中的每个州和建议的最低订单,再现了关键的动态行为。继续这一建议或选择另一种秩序选择的顺序。点击应用接受模型秩序和继续。

选择一个连续时间和离散时间模型。

选择这个选项来估计干扰模型。当您选择此选项,模型方程更新显示K矩阵和e术语。

对于每个输入通道,赋值输入延迟直通的

  • 输入通道——选择一个输入通道。表单的输入通道总是u,在那里通道的输入u

  • 输入延迟——输入输入延迟数量的样品(离散时间模型)或数量的时间单位(连续时间模型)的通道。例如,指定一个0.2秒的连续时间系统的输入延迟的时间单位毫秒,输入200年

  • 直通的——选择这个选项来估计通道直通的从输入到输出。当您选择此选项,模型方程更新显示术语。

指定可选参数

适合专注指定期间损失函数估计误差最小化。

  • 预测——最小化领先一步实测值和预测值的预测错误输出。这种估计方法侧重于生产好估计预测模型输入和输出。预测焦点通常产生最好的估计结果,因为它使用输入和输出测量,因此占干扰。

  • 模拟——测量和模拟输出之间的误差最小化。这种估计方法侧重于生产模拟模型反应有很好的符合评估的输入和输出。仿真重点通常是最好的验证,尤其是数据集不用于最初的估计。

设置这个选项,当你想选择一个特定的方法初始化模型的状态。的默认设置汽车,软件选择基于估计数据的方法。的选择是:

  • ——初始状态设置为零。

  • 估计——初始状态被当作一个独立的评估参数。

  • 展望——初始状态使用最好的最小二乘估计。

输入intersampling是一个属性的输入数据。任务时使用这个属性估计连续模型。指定输入Intersampling当你的数据类型时间频率。如果您正在使用一个iddata对象,该对象已经包含intersampling信息。选择这个属性是:

  • 零级举行——分段常数输入信号之间的样本

  • 三角形近似——分段线性输入信号之间的样本,也称为一阶

  • 带宽有限——输入信号零功率高于奈奎斯特频率

  • 汽车——为每个迭代的软件周期的方法,直到找到第一个方向下降,导致估计成本的减少。

  • 高斯牛顿- - - - - -子空间高斯牛顿最小二乘搜索。

  • Levenberg-Marquardt——Levenberg-Marquardt最小二乘搜索。

  • 自适应高斯牛顿自适应子空间高斯牛顿搜索。

  • 梯度搜索——最陡下降最小二乘搜索。

设置最大迭代次数在误差最小化。迭代停止时Max。迭代达到或另一个停止准则是满意,如宽容

当预期改善的百分比小于宽容,迭代停止。

设置这个选项如果你想应用加权预滤器的损失函数最小化的任务,当你估计模型。当您选择一个选项时,您还必须选择相关的变量在工作区中包含过滤信息。可用的选项取决于数据的域。

加权预滤器 数据域 过滤信息
没有过滤 时间和频率
通频带 时间和频率 通频带范围,指定为1×2行向量或一个n2矩阵,n通频带的数量。
线性时不变滤波器 时间和频率 输出线性时不变模型。
频率权重向量 频率 重量、频率指定为一个列向量长度相同的频率向量。
逆频率响应的大小 频率响应 加权过滤器 1 / | G ( ω ) | ,在那里G(ω)是复杂的频率特性数据。只输出和输出极点系统。
逆平方根的频率响应的大小 频率响应 加权过滤器 1 / | G ( ω ) | 。只输出和输出极点系统。

例如,假设您正在执行评估与输出频域数据,并在MATLAB工作区,你有一个列向量W包含频率预滤器的权重。在这个任务中,选择加权预滤器>频率权重向量和变量W

可视化的结果

情节比较模型的输出和原始测量数据,以及合适的百分比。如果你有独立的验证数据,第二个情节比较模型响应验证输入数据与测量的输出验证数据集。

版本历史

介绍了R2019b