distance of points to points calculation
2 views (last 30 days)
Show older comments
Hi: I have two set of 2D scatter points, says A and B, I need the minimun value of each points in A to B. for example, the size of A and B are 100*2, and below are my codes:
for i=1:1:100
ppdist=((A(j,1)-B(:,1)).^2+(A(j,2)-B(:,2)).^2).^0.5;
result(i)=min(ppdist);
end
however, if the size of A and B are significantly large, for example: 1 million for each, the calculation cost significantly large amount of time.
so I want know if there is anyway to optimize this calculation?
Thanks Yu
0 Comments
Accepted Answer
Anton Semechko
on 11 Jul 2018
[idxA,D_a2b]=knnsearch(B,A,'k',1);
will return indices of the points in set A closest to B, so that A(idxA(j),:) is the closest point to B(j,:). D_a2b(j) is the distance between these closest point pairs.
0 Comments
More Answers (0)
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!