find the minimum distances of all points from neighboring points
1 view (last 30 days)
Show older comments
When there are a lot of points, I want to find the minimum distances of all points from neighboring points.
It's too slow right now because there are so many dots.
distances = [];
for i = 1:k
for j = 1:k
if i==j
distances(i,j) = 100000;
else
distances(i,j) = pdist2(blobMeasurements(i).Centroid, blobMeasurements(j).Centroid);
end
end
end
[distances_min, distances_min_index] = min(distances);
I need to find the distance from a point to the nearest point
Also, I have to calculate this process for every point.
Is there a good way?
0 Comments
Accepted Answer
darova
on 5 Jun 2021
Program is slow because of pre-allocation and calling pdist2 everytime
try this
D = pdist2(centroid,centroid);
D = D + eye(size(D))*1E5;
0 Comments
More Answers (1)
Sulaymon Eshkabilov
on 4 Jun 2021
Here is a nice discussion on this issue with some well developed scripts:
https://www.mathworks.com/matlabcentral/answers/309497-finding-minimum-distance-between-two-points?s_tid=answers_rc1-2_p2_MLT
See Also
Categories
Find more on Statistics and Machine Learning Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!