我在计算一对物体之间的Mahalanobis距离时遇到了一些困难。我遵循MATLAB的文档,为了计算Mahalanobis距离,我必须使用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行)的误差,Mahalanobis度量的协方差矩阵必须是与X列数相同的平方矩阵,并且它必须是对称的和正定的。
在另一边如果我尝试:
A1=[75 87 90]; A2=[99 88 100];
D = mahal(A1,A2)我得到:
使用mahal错误(第38行)X的行数必须超过列数。
转置A1,A2我得到一个3x1矩阵,但我很确定我的值必须是一维的。任何帮助都将不胜感激。
发布于 2019-02-05 10:05:41
对于一对对象,可以做的是首先将x矩阵标准化为0-均值和1-方差标度,然后应用欧氏距离。
https://stackoverflow.com/questions/41863124
复制相似问题