具有三变量向量的马氏距离



我在计算一对物体之间的马氏距离时遇到了一些麻烦。我遵循了 MATLAB 的文档,为了计算马氏距离,我必须使用 pdist2:"D = pdist2(X,Y,'mahalanobis',C)"

A1=[75 87 90]; A2=[99 88 100];
C = nancov(A1,A2);
D = pdist2(A1,A2,'mahalanobis',C)

这给了我错误:

使用 pdist2 时出错(第 282 行) 马氏合金的协方差矩阵必须 是列数相同的方阵 X.它必须是对称的和肯定的。

另一方面,如果我尝试:

A1=[75 87 90]; A2=[99 88 100];
D = mahal(A1,A2)

我得到:

使用 mahal 时出错(第 38 行) X 的行数必须超过 列。

转置 A1,A2 我得到一个 3x1 矩阵,但我很确定我的值必须是一维的。任何帮助将不胜感激。

对于一对对象,可以做的是首先将 X 矩阵标准化为 0 均值和 1 方差尺度,然后应用欧几里得距离

最新更新