Matlab 三元向量的马氏距离

Matlab 三元向量的马氏距离,matlab,vector,mahalanobis,pdist,Matlab,Vector,Mahalanobis,Pdist,我在计算一对物体之间的马氏距离时遇到了一些麻烦。我遵循MATLAB的文档,为了计算马氏距离,我必须使用pdist2: D=pdist2(X,Y,'mahalanobis',C) 这给了我一个错误: 使用pdist2时出错(第282行) 马氏度量的协方差矩阵必须 是一个平方矩阵,列数与 它必须是对称的,正定的 另一方面,如果我尝试: A1=[75 87 90]; A2=[99 88 100]; D = mahal(A1,A2) 我得到: 使用mahal时出错(第38行) X的行数必须超过 列 转

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

这给了我一个错误:

使用pdist2时出错(第282行) 马氏度量的协方差矩阵必须 是一个平方矩阵,列数与 它必须是对称的,正定的

另一方面,如果我尝试:

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

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


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

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

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

如果没有更多数据来计算协方差,就无法计算两个向量之间的马氏距离!这是没有意义的。马哈拉诺比接受了两个向量和一个反向协方差数组。如果没有更多的数据来计算协方差,你无法计算两个向量之间的马哈拉诺比距离!这没有意义。马哈拉诺比斯接受两个向量和一个反向协方差数组。
A1=[75 87 90]; A2=[99 88 100];
D = mahal(A1,A2)