Effacer les filtres
Effacer les filtres

Knnsearch: How to output disntace?

2 vues (au cours des 30 derniers jours)
Pelajar UM
Pelajar UM le 26 Oct 2021
Modifié(e) : Pelajar UM le 26 Oct 2021
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?

Réponse acceptée

Esen Ozbay
Esen Ozbay le 26 Oct 2021
If you write
[Idx, dist] =knnsearch (nodes,nodes,'K',2);
you will obtain the distances mentioned in the documentation.
  1 commentaire
Pelajar UM
Pelajar UM le 26 Oct 2021
Modifié(e) : Pelajar UM le 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.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by