How to measure the shortest distance among different points using Matlab

1 visualización (últimos 30 días)
M.S. Khan
M.S. Khan el 27 de Oct. de 2020
Comentada: Jakob el 10 de Mzo. de 2021
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 comentarios
KSSV
KSSV el 28 de Oct. de 2020
That's what pdist does....did you read the documentation?
M.S. Khan
M.S. Khan el 28 de Oct. de 2020
Dear KSSV, i am trying to understand its documentation and then will apply. Thanks for your guidance. Regards!

Iniciar sesión para comentar.

Respuestas (1)

Jakob
Jakob el 28 de Oct. de 2020
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 comentarios
M.S. Khan
M.S. Khan el 29 de Oct. de 2020
Thanks KSSV, pdist() functions works. Thanks for reply Dear Jakob. your code and pdist() function works same.
Jakob
Jakob el 10 de Mzo. de 2021
Hi again, sorry I can't reply in private to your email.
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

Iniciar sesión para comentar.

Categorías

Más información sobre Statistics and Machine Learning Toolbox en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by