Filter löschen
Filter löschen

Find euclidean distance of a m X 2 matrix

2 Ansichten (letzte 30 Tage)
Subhrajit Debnath
Subhrajit Debnath am 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)

Akzeptierte Antwort

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

Weitere Antworten (1)

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

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by