フィルターのクリア

Closest value of huge data, Avoiding excessive iterations

1 回表示 (過去 30 日間)
czeslaw
czeslaw 2018 年 6 月 14 日
回答済み: KSSV 2018 年 6 月 14 日
Hi all,
I have the location of red dots (1000 points) and black dots (4000 points). The red dots have values associated with them.
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.

採用された回答

KSSV
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 件)

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by