recursiveARMAX
创建系统对象用于ARMAX模型的在线参数估计
语法
obj = recursiveARMAX
obj = recursiveARMAX(Orders)
obj = recursiveARMAX(Orders,A0,B0,C0)
obj =递归armax (___、名称、值)
描述
使用recursiveARMAX
命令用于实时数据的参数估计。如果估计所需的所有数据都一次性可用,并且您正在估计一个时不变模型,则使用离线估计命令,armax
.
创建一个系统对象™,用于默认单输入单输出(SISO)的在线参数估计ARMAX模型结构.默认模型结构具有1阶多项式和初始多项式系数值obj
= recursiveARMAX每股收益
.
创建对象后,使用一步
命令使用递归估计算法和实时数据更新模型参数估计。
指定待估计ARMAX模型的多项式阶数。obj
= recursiveARMAX (订单
)
指定多项式系数的多项式阶数和初始值。指定初始值以避免估计过程中的局部极小值。如果初始值比默认值小obj
= recursiveARMAX (订单
,A0, C0
)InitialParameterCovariance
属性值,你有信心你的初始值,也指定较小InitialParameterCovariance
.
指定使用一个或多个的ARMAX模型结构和递归估计算法的附加属性obj
= recursiveARMAX (___,名称,值
)名称,值
对参数。
对象描述
recursiveARMAX
使用递归估计算法为SISO ARMAX模型的在线参数估计创建一个System对象。
System对象是一个专门的MATLAB®对象,专门为实现和模拟输入随时间变化的动态系统而设计。系统对象使用内部状态来存储过去的行为,这将在下一个计算步骤中使用。
创建System对象后,可以使用命令处理数据或从该对象获取信息或关于该对象的信息。系统对象至少使用两个命令来处理数据—构造函数用于创建对象和一步
命令使用实时数据更新对象参数。声明与执行的分离允许您创建多个持久的可重用对象,每个对象具有不同的设置。
您可以对系统识别工具箱™中的在线估计系统对象使用以下命令:
命令 | 描述 |
---|---|
一步 |
使用递归估计算法和实时数据更新模型参数估计。
|
释放 |
解锁System对象。使用此命令开启不可调参数的设置。 |
重置 |
将锁定的System对象的内部状态重置为初始值,并保持锁定状态。 |
克隆 |
创建另一个具有相同对象属性值的System对象。 不使用语法创建额外的对象 |
isLocked |
查询System对象的输入属性和不可调属性的锁定状态。 |
使用recursiveARMAX
命令,创建在线评估系统对象。然后估计ARMAX模型参数(一个
,B
,C
),并使用一步
命令的输入和输出数据,u
,y
.
[A,B,C,EstimatedOutput] = step(obj,y,u)
为recursiveARMAX
对象属性,请参见属性.
例子
输入参数
属性
recursiveARMAX
系统对象属性由只读和可写属性组成。可写属性分为可调属性和不可调属性。方法锁定对象后,不可调属性不能更改一步
命令。
使用名称,值
的可写属性recursiveARMAX
对象创建过程中的对象。创建对象后,使用点表示法修改可调属性。
obj = recursiveARMAX;obj。为gettingFactor = 0.99;
|
多项式估计系数一个(问),以实值的行向量形式返回,这些实值按的升序排列问-1.
|
|
多项式估计系数B(问),以实值的向量形式返回,这些实值按的升序排列问-1.
|
|
多项式估计系数C(问),以实值的向量形式返回,这些实值按的升序排列问-1.
|
|
多项式系数的初值一个(问)秩序 如果初始猜测值远小于默认值
默认值: |
|
多项式系数的初值B(问)秩序 如果初始猜测值远小于默认值
默认值: |
|
多项式系数的初值C(问)秩序 里面的系数 InitialC = [1 0.5 0.5];所有(abs(根(InitialC)) < 1) Ans = 1 如果初始猜测值远小于默认值
默认值: |
|
估计的协方差 的解释
|
|
初始参数估计的协方差,指定为下列之一:
仅在以下情况下使用
默认值: |
|
递归估计算法用于模型参数的在线估计,指定为以下值之一:
遗忘因子和卡尔曼滤波算法比梯度法和非归一化梯度法计算量更大。然而,它们具有更好的收敛性。有关这些算法的信息,请参见在线参数估计的递归算法.
默认值: |
|
遗忘因子,λ,与参数估计相关,指定为范围(0,1]中的标量。 假设系统大致保持不变T0样本。你可以选择λ这样:
典型的选择λ都在这个范围内 仅在以下情况下使用
默认值: |
|
启用或禁用参数估计,指定为以下之一:
默认值: |
|
参数的浮点精度,指定为以下值之一:
设置
默认值: |
|
参数变化的协方差矩阵,指定为下列之一:
N是要估计的参数的数目。
卡尔曼滤波算法将参数视为动态系统的状态,利用卡尔曼滤波对这些参数进行估计。
默认值: |
|
适应增益,γ,用于梯度递归估计算法,指定为正标量。
为指定一个大值
默认值: |
|
偏差在自适应增益缩放中使用
归一化梯度算法将每一步的自适应增益除以梯度向量的双范数的平方。如果梯度接近于零,这可能会导致估计参数的跳跃。
默认值: |
输出参数
更多关于
提示
从R2016b开始,而不是使用
一步
命令来更新模型参数估计值,您可以调用带有输入参数的System对象,就像调用函数一样。例如,[A,B,C,EstimatedOutput] = step(obj,y,u)
而且[A,B,C,EstimatedOutput] = obj(y,u)
请执行相同的操作。
扩展功能
版本历史
在R2015b中引入