Knnsearch: How to output disntace?

7 ビュー (過去 30 日間)
Pelajar UM
Pelajar UM 2021 年 10 月 26 日
編集済み: Pelajar UM 2021 年 10 月 26 日
Here's the code. It basically finds the nearest sets of x,y,z points in the nodes array. Since the first column is the point itself, K=2, so that it finds the second nearest point. Then it generates a new array Near which sorts the data based on this new index.
Idx=knnsearch (nodes,nodes,'K',2)
Idx2=Idx(:,2)
Near=nodes(Idx2,:)
According to the documentation, there's an output argument D that should give the distance. But how do I implement it?

採用された回答

Esen Ozbay
Esen Ozbay 2021 年 10 月 26 日
If you write
[Idx, dist] =knnsearch (nodes,nodes,'K',2);
you will obtain the distances mentioned in the documentation.
  1 件のコメント
Pelajar UM
Pelajar UM 2021 年 10 月 26 日
編集済み: Pelajar UM 2021 年 10 月 26 日
Perfect. Thanks a lot!
Although some of the distances don't make a lot of sense. I'm trying to find the thickness of a 3D object. The generatemesh function was used to create nodes from an stl file. But the position of the nodes are quite random so I don't think Euclidean distance is the best approach for this problem.

サインインしてコメントする。

その他の回答 (0 件)

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by