我为卡尔曼滤波器创建了以下维矩阵:
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
的状态矩阵的矩阵感到困惑。
从documentation它可能是你的控制矢量或你的测量矢量,它的大小不正确。
有两种情况可以抛出异常。
案例预测:DimensionMismatchException - 如果控件向量的维度不匹配
大小写正确:DimensionMismatchException - 如果测量向量的维度不适合
几乎没有情况,但here是由于矩阵R的行数不等于z的行数。
如果H是2x4,那么R应该是2x2,z应该是2x1