求马氏距离(Mahalanobis distance )--matlab 版
方法一:
X = [1 2; 1 3; 2 2; 3 1];
[mx,nx] = size(X);
Dis = ones(mx,nx);
Cov = cov(X);
for i=1:mx
for j=1:nx
D(i,j)=((X(i,:)-X(j,:))*inv(C)*(X(i,:)-X(j,:))')^0.5;
end
end
D
>> X
X =
1 2
1 3
2 2
3 1
>> D
D =
0 2.3452 2.0000 2.3452
2.3452 0 1.2247 2.4495
2.0000 1.2247 0 1.2247