nearest neighbour search for scattered data
6 ビュー (過去 30 日間)
古いコメントを表示
Is there any way to find 10 nearest neighbours for each point in a scattered data set? Basically I would like to do the knn search with a number of points instead of radius.
0 件のコメント
回答 (1 件)
Ameer Hamza
2020 年 9 月 30 日
One method is to calculate pairwise distances using pdist(), and the using mink() to calculate the ten closest points.
x = rand(100,1); % generate 100 random points
y = rand(100,1);
dists = squareform(pdist([x y]));
dists(dists==0) = inf; % so that the point does not match with itself;
[~, I] = mink(dists, 10, 2); % 100x10 matrix
Matrix I contain 100 rows (equal to the number of points) and ten columns (each entry is the index of the closest point).
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Statistics and Machine Learning Toolbox についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!