3D的時候不好看出結果,
這次使用2D sample點和test點來實做。
只要打出下列指令:
%%data
w1=[1 2;1 3;2 3;3 5;4 5]%class w1
w2=[2 1;3 2;4 3;4 2;5 3]p1=[5;2]
p2=[2;4]%%instruction
dp1w1=(p1-mean(w1)’)’*inv(cov(w1))*(p1-mean(w1)’)
%the same as mahal(p1′,w1)
dp1w2=(p1-mean(w2)’)’*inv(cov(w2))*(p1-mean(w2)’)
dp2w1=(p2-mean(w1)’)’*inv(cov(w1))*(p2-mean(w1)’)
dp2w2=(p2-mean(w2)’)’*inv(cov(w2))*(p2-mean(w2)’)%%result w1w2p1p2
scatter(w1(:,1),w1(:,2),50,’filled’)
hold on%continue to scatter
scatter(w2(:,1),w2(:,2),50)
scatter(p1(1,:),p1(2,:),100,dp1w1,’x’,’LineWidth’,0)
scatter(p2(1,:),p2(2,:),100,dp2w1,’*’,’LineWidth’,0)hb = colorbar;
ylabel(hb,’Mahalanobis Distance’)
xlabel(‘X’)
ylabel(‘Y’)
legend(‘w1′,’w2′,’p1′,’p2′,’Location’,’NW’)hold off
馬氏距離結果為:(紅色即為答案)
dp1w1 =65.6000
dp1w2 =10.1333(p1 to w2)
dp2w1 =1.2000(p2 to w1)
dp2w2 =58.1333
圖示如下:

隨意留個言吧:)~