How to measure the shortest distance among different points using Matlab
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Antworten (1)
Jakob
am 28 Okt. 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 Kommentare
Jakob
am 10 Mär. 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
Siehe auch
Kategorien
Mehr zu Introduction to Installation and Licensing finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!