%%%% show various distance metrics using the pdisp matlab function new; d = 7; scalinglimits=[1 8]; a = round( scale( rand(d+1,3), scalinglimits) * 10) / 10 d = min( d, size( a, 1)-1); d1=pdist(a,'minkowski',4); d1=d1(1:d) d2=pdist(a,'cityblock'); d2=d2(1:d) d3=pdist(a,'euclidean'); d3=d3(1:d) d4=pdist(a,'mahalanobis'); d4=d4(1:d) d5=pdist(a,'chebychev'); d5=d5(1:d) figure; set( gcf,'name','Distances example'); subplot(121); imagesc( a); colormap gray; colorbar; axis image; set( gca, 'XTick',1:1:3); xlabel('variables'); ylabel('observations'); title('visualization of input data'); set(gca,'Visible','on'); subplot(122); plot(1:d,d1,'ko',1:d,d2,'bs',1:d,d3,'g^',1:d,d4,'rd',1:d,d5,'m<','LineWidth',3,'MarkerSize',10); set( gca, 'XTick',1:1:d); xlabel('comparison'); ylabel('distance'); title('Different distance metrics'); legend('Minkowski 4','Cityblock','Euclidean','Mahalanobis','Chebychev','Location','NW'); axis tight; grid on;