Encontrar vecinos K más cercanos y su implementación

Estoy trabajando en la clasificación de datos simples usando KNN con distancia euclidiana. He visto un ejemplo de lo que me gustaría hacer que se hace con MATLABknnsearch funcionan como se muestra a continuación:

load fisheriris 
x = meas(:,3:4);
gscatter(x(:,1),x(:,2),species)
newpoint = [5 1.45];
[n,d] = knnsearch(x,newpoint,'k',10);
line(x(n,1),x(n,2),'color',[.5 .5 .5],'marker','o','linestyle','none','markersize',10)

El código anterior toma un nuevo punto, es decir[5 1.45] y encuentra los 10 valores más cercanos al nuevo punto. ¿Alguien puede mostrarme un algoritmo MATLAB con una explicación detallada de lo que elknnsearch función hace? Hay alguna otra manera de hacer esto?