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 中查找有关 Matrices and Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by