Matlab:划分协方差矩阵时出错
Matlab: Error when dividing the covariance matrix
我有一个表达式,它是高斯状态 space 模型的对数似然表达式的一部分
express =
\sum_{t=2}^T (x(t) - (A*x(t-1)))^2/2*Q
其中T=5,数量samples/observations; x 是一个 2×T 矩阵; Q 是使用 eye
初始化的过程噪声的协方差矩阵
x =
0.7311 -1.7152 0.2476 3.6643 -1.2870
0.4360 0.3554 0.1981 0.4168 0.2643
一个=
0.1950 -0.9500
1.0000 0
问=
1 0
0 1
我收到此错误:
Error using /
Matrix dimensions must agree.
我是这样实现的:
numerator = sum((x(:,2:T)-(A*x(:,1:(T-1)))).^2)
分子=
2.0732 3.0349 3.2291 1.5365
express = numerator / diag(2*diag(Q))
我应该取 Q
的对角线还是行列式?请帮助更正这部分。谢谢。
你对这个词求平方太早了。 (') 符号表示您需要先取该项的复共轭,然后再将其乘以 Q 的倒数,然后再乘以该项。我相信你正在尝试计算这个

在这种情况下,您要总结的术语如下,
term = x(:,2:T)-(A*x(:,1:(T-1));
result = term' * inv(Q) * term
其结果是一个 4x4 矩阵。然后你可以总结这个(我假设在两个方向上)。从你提到的 link 中的 (7),你应该需要按照相同的程序三次(对于 R、Q 和 V)。
我有一个表达式,它是高斯状态 space 模型的对数似然表达式的一部分
express =
\sum_{t=2}^T (x(t) - (A*x(t-1)))^2/2*Q
其中T=5,数量samples/observations; x 是一个 2×T 矩阵; Q 是使用 eye
x =
0.7311 -1.7152 0.2476 3.6643 -1.2870
0.4360 0.3554 0.1981 0.4168 0.2643
一个=
0.1950 -0.9500
1.0000 0
问=
1 0
0 1
我收到此错误:
Error using /
Matrix dimensions must agree.
我是这样实现的:
numerator = sum((x(:,2:T)-(A*x(:,1:(T-1)))).^2)
分子=
2.0732 3.0349 3.2291 1.5365
express = numerator / diag(2*diag(Q))
我应该取 Q
的对角线还是行列式?请帮助更正这部分。谢谢。
你对这个词求平方太早了。 (') 符号表示您需要先取该项的复共轭,然后再将其乘以 Q 的倒数,然后再乘以该项。我相信你正在尝试计算这个
在这种情况下,您要总结的术语如下,
term = x(:,2:T)-(A*x(:,1:(T-1));
result = term' * inv(Q) * term
其结果是一个 4x4 矩阵。然后你可以总结这个(我假设在两个方向上)。从你提到的 link 中的 (7),你应该需要按照相同的程序三次(对于 R、Q 和 V)。