Find euclidean distance of a m X 2 matrix

2 views (last 30 days)
Suppose I have a =( 1 ,2; 3, 4;5,6); 3 X 2 matrix
x =( 1,10); 2 X 1 matrix
bsx_out = bsxfun(@minus,a,x); % i have done row wise subtraction.
I want to find the euclidean distance as a 3 X 1 column vector
so for first row it will be sqrt( (1-1)^2 + (2-10)^2)

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 26 May 2012
a =[ 1 ,2; 3, 4;5,6]
x =[1,10]'
out = sqrt(sum(bsxfun(@minus,a,x.').^2,2))

More Answers (1)

Oleg Komarov
Oleg Komarov on 26 May 2012
An alternative:
out = hypot(a(:,1)-x(1),a(:,2)-x(2))

Categories

Find more on Statistics and Machine Learning Toolbox in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!