MATLAB Answers

Yu Li
0

distance of points to points calculation

Yu Li
さんによって質問されました 2018 年 7 月 11 日
最新アクティビティ Anton Semechko さんによって 回答されました 2018 年 7 月 11 日
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 件のコメント

サインイン to comment.

1 件の回答

回答者: Anton Semechko 2018 年 7 月 11 日
 採用された回答

Use 'knnsearch' function. For example:
[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 件のコメント

サインイン to comment.



Translated by