Closest value of huge data, Avoiding excessive iterations
1 回表示 (過去 30 日間)
古いコメントを表示
Hi all,
I have the location of red dots (1000 points) and black dots (4000 points). The red dots have values associated with them.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/191244/image.png)
What I want is for each black dot, find the one closest red dot and get that associated value. So the result would be a matrix of 4000x4, where 4000 is the number of black dots:
Result=[
1 x y AssociatedRedDotValue1
2 x y AssociatedRedDotValue2
3 x y AssociatedRedDotValue3
.
.
.
4000 x y AssociatedRedDotValue4000
]
If I use nested for loop, that would be 4000000 iterations, and will crash my computer. Is there much efficient way to do this?
Thanks in advance.
0 件のコメント
採用された回答
KSSV
2018 年 6 月 14 日
Read about knnsearch. This will give you the required number of nearest points for a given point out of the data. This is very fast and effective.
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!