wie finden Sie k-TEN nächsten Nachbarn eines Punktes in eine Reihe von Punkt

Habe ich eine Reihe von Punkt (x,y) auf der 2d-Ebene. Gegeben ein Punkt (x0,y0), und die Zahl k, so finden Sie den k-TEN nächsten Nachbarn von (x0,x0) im Punkt gesetzt. Im detail, den Punkt zu setzen sind vertreten durch zwei Arrays: x und y. Der Punkt (x0,y0) ist gegeben durch den index i0. Es bedeutet, x0=x(i0) und y0=y(i0).

Gibt es eine Funktion oder etwas in Matlab hilft mir dieses problem. Wenn Matlab nicht haben diese Art von Funktion, können Sie schlagen jede andere wirksame Möglichkeiten.

BEARBEITEN: ich habe zur Berechnung dieser Art von Entfernung für jeden Punkt (x0,y0) im set. Die Größe des sets ist etwa 1000. Der Wert von k sollte etwa sqrt(1500). Das Schlimmste ist, dass ich dies viele Male. Bei jeder iteration werden die änderungen an, und ich berechne die Entfernungen wieder. So, die Laufzeit ist auf ein kritisches problem.

InformationsquelleAutor James Do | 2012-02-22
Schreibe einen Kommentar