如何使用“recursiveLS()”和“()”功能

7视图(30天)
奥斯卡BELLON-HERNANDEZ
奥斯卡BELLON-HERNANDEZ 2023年5月29日
评论道: 马里奥苹果 2023年5月31日
我有这样一个模型:
在哪里 输出变量, P 是输入。所有的变量都是列向量。
这是我的设计矩阵:
N :我的实验的样本总数。
我想估计回归系数计算下一个输出 。我写的这段代码:
函数rls = l_rls (T1, T2, P,λ)
T1, T2与测量输出向量和P是一个矢量测量的输入
N =长度(P);
X = [(N - 1, 1), T1 (1: N - 1), T2 (1: N - 1)、P (2: N), P (1: N - 1)];%设计矩阵
ncoef =大小(X, 2);
Y = (T1(2:结束),T2(2:结束)];%这些是我输出矩阵。
rls = recursiveLS (ncoef,λ);
(,Tst) = (rls, Y, P)步
结束
然而,当我运行这段代码,我得到这个错误信息:

错误使用recursiveLS / validateInputsImpl

误差信号的维度。输入信号中的元素的数量

(解释变量)(5819)必须与NumberOfParameters属性(5)。

错误在l_rls(第10行)

(如,Ts) = (rls, Y, P)步;

如果我改变与“步骤”功能:
(,Tst) = (rls, Y, X)步;
现在错误信息:

错误使用recursiveLS / validateInputsImpl

误差信号的维度。输入信号u(解释变量)必须是一个向量。

错误在l_rls(第10行)

(,Tst) = (rls, Y, X)步;

我不明白如何使用“步骤”()函数来获得系数和估计输出。
3评论
马里奥苹果
马里奥苹果 2023年5月31日
没有很多人使用这个工具箱,不幸的是,我新。
你可能没有正确调用的函数,如果我理解正确的文档,ncoef和λ的大小必须是相同的。
如果你想做一步,尝试iddata函数,然后估计参数的功能像idgrey, nlarx时代,然后应用步骤。
把这粒盐,因为我完全不明白我们在干什么,这些函数。

登录置评。

答案(0)

类别

找到更多的在线性模型识别帮助中心文件交换

下载188bet金宝搏


释放

R2022b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!