Computing Mahalanobis Distance Between Set of Points and Set of Reference Points
조회 수: 2 (최근 30일)
이전 댓글 표시
Hello,
I have an n x p matrix - mX which is composed of n points in R^p.
I have another m x p matrix - mY which is composed of m reference points in R^p.
I would like to create an n x m matrix - mD which is the Mahalanobis Distance matrix.
Namely, is computes the following:
mD(i, j) = (mX(j, :) - mY(i, :)) * inv(mC) * (mX(j, :) - mY(i, :)).';
Where mC is the given Mahalanobis Distance PSD Matrix.
It is easy to be done in a loop, is there a way to vectorize it?
Namely, is the a function which its inputs are mX, mY and mC and its output is mD and fully vectorized without using any MATLAB toolbox?
Thank You.
채택된 답변
추가 답변 (1개)
Image Analyst
2015년 8월 9일
Use *mahal(* ) in the Statistics and Machine Learning Toolbox. I haven't used it yet so I don't have any demo for you. Why do you need it?
댓글 수: 2
Image Analyst
2015년 8월 9일
What's m, n, and p? Your code is already at least partially vectorized. If m, n, and p are less than a few million, then it probably won't take much time at all even if it's not vectorized.
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!