3 %> @brief Calculates the Mahalanobis distances of the rows in X
6 %> @
return Vertical vector of distances
7 function distances =
maha(X)
9 if rank(cov(X)) < size(X, 2)
10 irerror('Covariance matrix is singular, try removing low-variance feature');
15 Xcentered = X-repmat(means, no, 1);
16 distances = zeros(no, 1);
17 Cinv = inv(cov(Xcentered));
20 distances(i) = v'*Cinv*v;
22 distances = sqrt(distances);