创建系统对象用于输出误差多项式模型的在线参数估计
用递归
使用实时数据的参数估计命令。如果一次可用估计所需的所有数据,并且您估计时间不变模型,请使用脱机估计命令,OE.
.
obj = recursiveoe.
obj = recursiveOE(订单)
obj = recursiveOE(订单、B0 F0)
obj = recursiveoe(___、名称、值)
创建一个系统对象™,用于在线估计默认单输入单输出(SISO)的参数输出误差模型结构默认模型结构具有1阶多项式和初始多项式系数值obj
= recursiveoe.每股收益
.
创建对象后,使用步
命令使用递归估计算法和实时数据更新模型参数估计。
指定多项式阶数和多项式系数的初始值。指定初始值以避免估计过程中的局部极小值。如果初始值比默认值小obj
=递归(命令
,B0,F0
)InitialParameterCovariance
属性值,您对初始值有信心,还指定了较小的值InitialParameterCovariance
.
递归
使用递归估计算法,为SISO输出误差多项式模型的在线参数估计创建一个System对象。
系统对象是一个专门的MATLAB®对象,专门用于实现和模拟具有随时间变化的输入的动态系统。系统对象使用内部状态来存储过去的行为,这将在下一个计算步骤中使用。
创建系统对象后,使用命令处理数据或从对象获取信息。系统对象至少使用两个命令处理数据-一个构造函数创建对象和步
命令,使用实时数据更新对象参数。这种声明与执行的分离允许您创建多个持久的、可重用的对象,每个对象都有不同的设置。
您可以使用以下命令对系统识别工具箱™中的在线评估系统对象进行评估:
命令 | 描述 |
---|---|
步 |
使用递归估计算法和实时数据更新模型参数估计。
|
释放 |
解锁系统对象。使用此命令启用无法设置的临界参数。 |
重置 |
将锁定的System对象的内部状态重置为初始值,并保持锁定状态。 |
克隆 |
使用相同的对象属性值创建另一个System对象。 不使用语法创建其他对象 |
锁住了 |
查询输入属性的锁定状态和系统对象的无因素属性。 |
使用递归
命令创建一个在线估计系统对象。然后估计输出误差多项式模型参数(B
和F
)并使用步
输入和输出数据的命令,u
和y
.
[B, F, EstimatedOutput] = (obj, y, u)步
为递归
对象属性,见性质.
递归
系统对象属性包括只读属性和可写属性。可写属性分为可调属性和不可调属性。对象被锁定时,即在使用步
命令。
用名称,值
用于指定的可写属性的参数递归
对象创建过程中的对象。对象创建后,使用点表示法修改可调属性。
obj = recursiveOE;obj。为gettingFactor = 0.99;
|
多项式估计系数B(问),返回实值向量,该实值按的升序幂指定问-1.
|
|
多项式估计系数F(问),返回实值向量,该实值按的升序幂指定问-1.
|
|
多项式系数的初值B(问)正常的 如果初始猜测远小于默认值
默认值: |
|
多项式系数的初值F(问)正常的 中的系数 initialf = [1 0.9 0.8];全部(ABS(根(initialf))<1) ans=1 如果初始猜测远小于默认值
默认值: |
|
估计协方差 的解释
|
|
初始参数估计的协方差,其中之一:
只使用当
默认值: |
|
用于在线估计模型参数的递归估计算法,指定为以下值之一:
遗忘因子和卡尔曼滤波器算法比梯度和非正式化梯度方法更加计算密集。但是,它们具有更好的收敛性。有关这些算法的信息,请参阅在线参数估计的递归算法.
默认值: |
|
遗忘因子,λ,与参数估计相关,指定为(0,1]范围内的标量。 假设系统在一段时间内保持近似恒定T0样本。你可以选择λ这样:
典型的选择λ都在范围内 只使用当
默认值: |
|
启用或禁用参数估计,指定为以下之一:
默认值: |
|
浮点的参数精度,指定为以下值之一:
设置
默认值: |
|
参数变体的协方差矩阵,指定为以下之一:
N是要估计的参数的数量。
卡尔曼滤波算法将参数视为动态系统的状态,并利用卡尔曼滤波对这些参数进行估计。
默认值: |
|
适应增益,γ,用于梯度递归估计算法,指定为正标量。
指定大量值
默认值: |
|
适应增益缩放的偏差
归一化梯度算法将每一步的自适应增益除以梯度向量的两个范数的平方。如果梯度接近零,则可能导致估计参数跳变。
默认值: |
从R2016b开始,不再使用步
命令要更新模型参数估计,可以使用输入参数调用系统对象,就像它是一个函数一样。例如,[B, F, EstimatedOutput] = (obj, y, u)步
和[B,F,估计输出]=obj(y,u)
执行等效操作。