% MahalanobisDistance - Calculates (squared) Mahalanobis distance % by Will Dwinnell % % function Dm = MahalanobisDistance(Group1,Group2); % % Dm = Mahalanobis Distance % Group1 = first group of observations % Group2 = second group of observations % % Note: Result is distance of each point in 'Group1' from % entire set 'Group2'. % % Reference: "Multivariate Statistical Methods, A Primer", by Manly % % Last modified: Mar-23-2007 function Dm = MahalanobisDistance(Group1,Group2); % Pre-calculate displacement Displacement = Group1 - repmat(mean(Group2),[size(Group1,1) 1]); % Calculate Mahalanobis distance Dm = diag(Displacement * inv(cov(Group2)) * Displacement'); % EOF