Effacer les filtres
Effacer les filtres

Find euclidean distance of a m X 2 matrix

2 vues (au cours des 30 derniers jours)
Subhrajit Debnath
Subhrajit Debnath le 26 Mai 2012
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)

Réponse acceptée

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

Plus de réponses (1)

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

Catégories

En savoir plus sur Matrices and Arrays dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by