recursiveLS
创建系统对象采用递归最小二乘算法进行在线参数估计
语法
obj =递归
obj = recursiveLS(Np)
obj =递归(Np,theta0)
obj =递归(___、名称、值)
描述
使用recursiveLS
命令用于实时数据的参数估计。如果估计所需的所有数据都是一次性可用的,并且您正在估计一个时不变模型,则使用mldivide, \
.
创建一个System对象™,用于默认单个输出系统的在线参数估计,该输出系统的估计参数是线性的。这样的系统可以表示为:obj
= recursiveLS
y(t) =H(t)θ(t) +e(t).
在这里,y是输出,θ是参数,H回归量,和e就是白噪声干扰。默认系统有一个初始参数值的参数1
.
创建对象后,使用一步
命令更新模型参数估计使用递归最小二乘算法和实时数据。或者,您也可以直接调用该对象。有关更多信息,请参见提示.
还指定要估计的参数的数目。obj
= recursiveLS (Np
)
对象描述
recursiveLS
创建一个System对象用于单个输出系统的在线参数估计,该输出系统的参数是线性的。
System对象是一个专门的MATLAB®对象,专门为实现和模拟输入随时间变化的动态系统而设计。系统对象使用内部状态来存储过去的行为,这将在下一个计算步骤中使用。
创建System对象后,可以使用命令处理数据或从该对象获取信息或关于该对象的信息。系统对象至少使用两个命令来处理数据—构造函数用于创建对象和一步
命令使用实时数据更新对象参数。声明与执行的分离允许您创建多个持久的可重用对象,每个对象具有不同的设置。
您可以对系统识别工具箱™中的在线估计系统对象使用以下命令:
命令 | 描述 |
---|---|
一步 |
使用递归估计算法和实时数据更新模型参数估计。
|
释放 |
解锁System对象。使用此命令开启不可调参数的设置。 |
重置 |
将锁定的System对象的内部状态重置为初始值,并保持锁定状态。 |
克隆 |
创建另一个具有相同对象属性值的System对象。 不使用语法创建额外的对象 |
isLocked |
查询System对象的输入属性和不可调属性的锁定状态。 |
使用recursiveLS
命令,创建在线评估系统对象。然后估计系统参数(θ
),并使用一步
命令与回归器和输入输出数据,H
而且y
.
[theta,EstimatedOutput] = step(obj,y,H)
为recursiveLS
对象属性,请参见属性.
例子
输入参数
属性
recursiveLS
系统对象属性由只读和可写属性组成。可写属性分为可调属性和不可调属性。方法锁定对象后,不可调属性不能更改一步
命令。
使用名称,值
的可写属性recursiveLS
对象创建过程中的对象。创建对象后,使用点表示法修改可调属性。
obj =递归;obj。为gettingFactor = 0.99;
|
要估计的参数数目,以正整数形式返回。
默认值: |
|
估计的参数,作为实值的列向量返回。
|
|
参数的初始值,指定为下列之一:
如果初始参数值远小于
默认值: |
|
有限历史估计中输出缓冲区的初始值,指定为 的 当 如果初始缓冲区设置为 指定
默认值: |
|
有限历史估计中回归量缓冲的初始值,指定为 的 当 如果初始缓冲区设置为 指定
默认值: |
|
估计的协方差
的解释
|
|
初始参数估计的协方差,指定为下列之一:
仅在以下情况下使用
默认值: |
|
递归最小二乘估计算法用于模型参数的在线估计,指定为以下值之一:
遗忘因子和卡尔曼滤波算法比梯度法和非归一化梯度法计算量更大。然而,它们具有更好的收敛性。有关这些算法的信息,请参见在线参数估计的递归算法. 这些方法都使用无限的数据历史,并且仅在以下情况下可用
默认值: |
|
遗忘因子,λ,与参数估计相关,指定为范围(0,1]中的标量。 假设系统大致保持不变T0样本。你可以选择λ这样:
典型的选择λ都在这个范围内 仅在以下情况下使用
默认值: |
|
启用或禁用参数估计,指定为以下之一:
默认值: |
|
参数的浮点精度,指定为以下值之一:
设置
默认值: |
|
参数变化的协方差矩阵,指定为下列之一:
N是要估计的参数的数目。
卡尔曼滤波算法将参数视为动态系统的状态,利用卡尔曼滤波对这些参数进行估计。
默认值: |
|
适应增益,γ,用于梯度递归估计算法,指定为正标量。
为指定一个大值
默认值: |
|
偏差在自适应增益缩放中使用
归一化梯度算法将每一步的自适应增益除以梯度向量的双范数的平方。如果梯度接近于零,这可能会导致估计参数的跳跃。
默认值: |
|
定义使用哪种递归算法的数据历史类型,指定为:
具有无限历史记录的算法旨在产生参数估计,以解释自模拟开始以来的所有数据。这些算法仍然使用固定数量的内存,不会随着时间的推移而增长。对象的多种算法 具有有限历史的算法旨在产生只能解释有限数量的过去数据样本的参数估计。这个方法也被称为滑动窗口估计。对象提供了一种算法 有关递归估计方法的更多信息,请参见在线参数估计的递归算法.
默认值: |
|
窗口大小决定用于滑动窗口估计方法的时间样本数量,指定为正整数。指定 选择一个能够平衡估计性能与计算和内存负担的窗口大小。规模因素包括模型中参数的数量和时间方差。总是指定窗口长度在示例中,即使使用基于帧的输入处理。
合适的窗口长度与您使用的是基于样本的输入处理还是基于帧的输入处理无关
默认值: |
|
选项,用于基于样本或基于帧的输入处理,指定为字符向量或字符串。
你的 [theta,EstimatedOutput] = step(obj,y,H)
默认值: |
输出参数
提示
从R2016b开始,而不是使用
一步
命令来更新模型参数估计值,您可以调用带有输入参数的System对象,就像调用函数一样。例如,[theta,EstimatedOutput] = step(obj,y,H)
而且[theta,EstimatedOutput] = obj(y,H)
请执行相同的操作。
扩展功能
版本历史
在R2015b中引入