0

如何将 pdist2 与“mahalanobis”指标一起使用?我写了这段代码:

u=[1 2 3; 4 5 6; 7 8 9];
n=[1 2 5;2 5 7;5 7 9];
covu=nancov(u);

Z=pdist2(u,u,'mahalanobis',covu);

但我得到这个错误:

??? Error using ==> pdist2 at 298
The covariance matrix for the Mahalanobis metric must be symmetric and positive definite.

Error in ==> Untitled at 5
Z=pdist2(u,u,'mahalanobis',covu); 

尽管变量 'covuu' 是对称矩阵并且也是正数。这是covu:covu =

 9     9     9
 9     9     9
 9     9     9

如何使用“mahalabobis”度量计算 pdist2?

4

1 回答 1

1

矩阵必须是正定的,这与具有正项不同。在对称矩阵的情况下,这意味着所有特征值都必须为正。但在你的情况下,矩阵只有 1 级。如果你计算特征值,你会看到,两个特征值为零:

eig(covu)

ans =

   -0.0000
    0.0000
   27.0000
于 2018-01-25T13:19:46.950 回答