如何将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?
答案 0 :(得分:1)
矩阵必须是正定,这与具有正条目的不同。在对称矩阵的情况下,这意味着所有特征值必须是正的。但在你的情况下,矩阵只有1级。如果计算特征值,你会看到两个特征值为零:
eig(covu)
ans =
-0.0000
0.0000
27.0000