卡尔曼滤波器矩阵尺寸不匹配

问题描述 投票:1回答:2

我为卡尔曼滤波器创建了以下维矩阵:

  • 矩阵X,状态矩阵:4x1,其中包含:[X; dX; Y; dY] X:x坐标 dX:改变x坐标的速率 Y:x坐标 dY:改变y坐标的比率。
  • 矩阵H,观察矩阵:2x4
  • 矩阵R,测量噪声协方差矩阵:2x4
  • 矩阵Z,测量矩阵:4x1,因为有状态的4测量。

但显然存在矩阵维度的不匹配,因为apache卡尔曼滤波器抛出矩阵维度不匹配异常。

我对创建适合于Z的测量矩阵(4x1)和4x1的状态矩阵的矩阵感到困惑。

java kalman-filter
2个回答
0
投票

documentation它可能是你的控制矢量或你的测量矢量,它的大小不正确。

有两种情况可以抛出异常。

案例预测:DimensionMismatchException - 如果控件向量的维度不匹配

大小写正确:DimensionMismatchException - 如果测量向量的维度不适合

几乎没有情况,但here是由于矩阵R的行数不等于z的行数。


1
投票

如果H是2x4,那么R应该是2x2,z应该是2x1

© www.soinside.com 2019 - 2024. All rights reserved.