Find euclidean distance of a m X 2 matrix

2 次查看(过去 30 天)
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)

采纳的回答

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

更多回答(1 个)

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

类别

Help CenterFile Exchange 中查找有关 Statistics and Machine Learning Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by