Find distances between all points

17 visualizaciones (últimos 30 días)
Isuru
Isuru el 1 de Jun. de 2014
Comentada: Isuru el 2 de Jun. de 2014
Hi,
I have four landmarks which are A,B,C,D
These landmarks have the coordinates in x,y vectors respectively:
x = [1, 2, 3, 4] y = [1, 3, 4, 3]
Now I want to find the distance (using distance formula for two points) between all the points but avoid repetition. So for example I want to find the distances:
AB/AC/AD/BC/BD/CD
Any help is appreciated thanks.

Respuestas (1)

Image Analyst
Image Analyst el 1 de Jun. de 2014
Can I assume you tried the obvious, simple, straightforward, intuitive brute force approach?
x = [1, 2, 3, 4];
y = [1, 3, 4, 3]
for xIndex = 1 : length(x)
for yIndex = xIndex : length(y)
distances(xIndex, yIndex) = sqrt((x(xIndex)-x(yIndex))^2 + (y(xIndex)-y(yIndex))^2)
end
end
distances % Report to the command window.
If you already tried this obvious brute force approach and didn't like it for some reason then say what's wrong with it?
  1 comentario
Isuru
Isuru el 2 de Jun. de 2014
Thanks. I managed to use pdist(X) instead. Thanks for the reply anyway.

Iniciar sesión para comentar.

Categorías

Más información sobre Language Fundamentals en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by