recursiveARMAX
创建系统对象用于ARMAX模型的在线参数估计
使用recursiveARMAX
命令用于实时数据的参数估计。如果需要进行估计的所有数据都是一次性可用的,并且您正在估计一个时不变模型,请使用脱机估计命令,armax
.
语法
obj = recursiveARMAX
obj = recursiveARMAX(订单)
obj = recursiveARMAX(订单、A0 B0, C0)
obj = recursiveARMAX (___、名称、值)
描述
创建一个系统对象™,用于默认单输入单输出(SISO)的在线参数估计ARMAX模型结构.默认的模型结构具有1阶多项式和初始多项式系数值obj
= recursiveARMAX每股收益
.
创建对象后,使用一步
命令使用递归估计算法和实时数据更新模型参数估计。
指定要估计的ARMAX模型的多项式阶数。obj
= recursiveARMAX (订单
)
指定多项式阶数和多项式系数的初值。指定初始值以避免估计过程中的局部极小值。如果初始值比默认值小obj
= recursiveARMAX (订单
,A0, C0
)InitialParameterCovariance
属性值,并且您对您的初始值有信心,还指定一个较小的值InitialParameterCovariance
.
指定ARMAX模型结构的附加属性和使用一个或多个递归估计算法obj
= recursiveARMAX (___,名称,值
)名称,值
对参数。
对象描述
recursiveARMAX
创建一个System对象,用于使用递归估计算法对SISO ARMAX模型进行在线参数估计。
一个系统对象是一个专门的MATLAB®专门为实现和模拟输入随时间变化的动态系统而设计的对象。系统对象使用内部状态来存储过去的行为,这些行为将在下一个计算步骤中使用。
创建System对象后,可以使用命令处理数据或从对象获取有关该对象的信息。系统对象使用至少两个命令来处理数据—构造函数用于创建对象和一步
命令,使用实时数据更新对象参数。这种声明与执行的分离使您可以创建多个持久的可重用对象,每个对象具有不同的设置。
您可以对系统识别工具箱™中的在线估计系统对象使用以下命令:
命令 | 描述 |
---|---|
一步 |
使用递归估计算法和实时数据更新模型参数估计。
|
释放 |
解锁System对象。使用此命令开启不可调参数的设置。 |
重置 |
将锁定的System对象的内部状态重置为初始值,并保持锁定状态。 |
克隆 |
创建另一个具有相同对象属性值的System对象。 不使用语法创建额外的对象 |
isLocked |
查询System对象的输入属性和不可调属性的锁定状态。 |
使用recursiveARMAX
命令,创建在线评估系统对象。然后估计ARMAX模型参数(一个
,B
,C
)并使用一步
命令的输入和输出数据,u
,y
.
[A, B, C, EstimatedOutput] = (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] = (obj, y, u)步
而且[A, B, C, EstimatedOutput] = obj (y, u)
执行相同操作。
扩展功能
另请参阅
递归多项式模型估计器|armax
|克隆
|isLocked
|recursiveAR
|recursiveARMA
|recursiveARX
|recursiveBJ
|recursiveLS
|recursiveOE
|释放
|重置
|一步