Find distances between all points

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.

답변 (1개)

Image Analyst
Image Analyst 2014년 6월 1일

1 개 추천

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

Isuru
Isuru 2014년 6월 2일
Thanks. I managed to use pdist(X) instead. Thanks for the reply anyway.

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Language Fundamentals에 대해 자세히 알아보기

질문:

2014년 6월 1일

댓글:

2014년 6월 2일

Community Treasure Hunt

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

Start Hunting!

Translated by