Function knnsearch triggers an error in MATLAB R2021a, which wasn't in R2013b
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Iyad Khuder
le 5 Jan 2022
Modifié(e) : Iyad Khuder
le 5 Jan 2022
I had a project (related to my PhD research), which was running properly in MATLAB R2013b. Having migrated to v R2021a, I've got an error, triggering from the function knnsearch:
Undefined function 'knnsearch' for input arguments of type 'double'.
at thos code line:
[layer_mIdx, mD] = knnsearch(Vec_layer_Centroids, Vec_layer_Centroids, 'K', K+1, 'Distance', 'minkowski', 'P', 2);
The syntax of the function is: Idx = knnsearch(X,Y,Name,Value)
where X and Y are Input data, specified as a numeric matrix.
In my usecase, X=Y and is an array of doubles, as shown in my workplace:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/854000/image.png)
This array contains the coordinates of a set of 2-D points, which I called "centroids".
Although, I have extracted these coordinates from a culumn of type "cell array", but I think they are extracted as numeric date (as MATLAB recognizes them as doubles in the workspace).
Furthermore, the function worked without any problem in v R2013b, which is frustrating:(
Any help would be appreciated.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/854005/image.png)
Let me know if any further details could help.
Thanks
0 commentaires
Réponse acceptée
Walter Roberson
le 5 Jan 2022
load hospital;
X = [hospital.Age hospital.Weight];
Y = [20 162; 30 169; 40 168; 50 170; 60 171]; % New patients
Idx = knnsearch(X,Y)
So knnsearch() still works in R2021b.
However... it is part of the Statistics Toolbox, and perhaps you did not install / license that toolbox when you upgraded.
3 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Introduction to Installation and Licensing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!