Knnsearch: How to output disntace?

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?

 Accepted Answer

If you write
[Idx, dist] =knnsearch (nodes,nodes,'K',2);
you will obtain the distances mentioned in the documentation.

1 Comment

Pelajar UM
Pelajar UM on 26 Oct 2021
Edited: Pelajar UM on 26 Oct 2021
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.

Sign in to comment.

More Answers (0)

Categories

Asked:

on 26 Oct 2021

Edited:

on 26 Oct 2021

Community Treasure Hunt

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

Start Hunting!