# How to measure the shortest distance among different points using Matlab

조회 수: 2 (최근 30일)
M.S. Khan 2020년 10월 27일
댓글: Jakob 2021년 3월 10일
Lets suppoese i have the points as shown by B. For example, P1(1,1,2 ), P2(1,2,3 ) etc as shown by B. I want to measure the shortest distance among these points.
x = B(:,1), y =B(:,2) and z = B(:,3).
Thanks in advance for support from community members. Regards!
B =
1 1 3
1 2 3
2 3 1
2 3 2
3 1 1
3 3 1
3 3 2
##### 댓글 수: 5이전 댓글 3개 표시이전 댓글 3개 숨기기
KSSV 2020년 10월 28일
That's what pdist does....did you read the documentation?
M.S. Khan 2020년 10월 28일
Dear KSSV, i am trying to understand its documentation and then will apply. Thanks for your guidance. Regards!

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

### 답변 (1개)

Jakob 2020년 10월 28일
B = randi([-10 10],5,3); % just some random numbers
minimum = sqrt(sum((B(1,:)- B(2,:)).^2));
for i = 1 : size(B,1)-1
for j = i+1 : size(B,1)
minimum = min(minimum,sqrt(sum((B(i,:)- B(j,:)).^2)));
end
end
disp(minimum)
##### 댓글 수: 3이전 댓글 1개 표시이전 댓글 1개 숨기기
M.S. Khan 2020년 10월 29일
Thanks KSSV, pdist() functions works. Thanks for reply Dear Jakob. your code and pdist() function works same.
Jakob 2021년 3월 10일
About your question:. "I think pdist2() can only be used for 2D, right.".
Be careful, pdist2() works different then pdist(), you can safely use
min(pdist(YOURMATRIX))
to measure the minimal distance for any dimension. It's basically the same as my code

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

### 카테고리

Help CenterFile Exchange에서 Statistics and Machine Learning Toolbox에 대해 자세히 알아보기

### Community Treasure Hunt

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

Start Hunting!

Translated by