Encontrar vizinhos K-mais próximos e sua implementação

Estou trabalhando na classificação de dados simples usando o KNN com distância euclidiana. Eu vi um exemplo do que eu gostaria de fazer que é feito com o MATLABknnsearch função como mostrado abaixo:

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)

O código acima leva um novo ponto, ou seja,[5 1.45] e encontra os 10 valores mais próximos do novo ponto. Alguém pode me mostrar um algoritmo MATLAB com uma explicação detalhada do que oknnsearch função faz? Existe alguma outra maneira de fazer isso?

questionAnswers(1)

yourAnswerToTheQuestion