2次元平面上に点 (x,y) のセットがあります。点 (x0,y0) と数値 k が与えられた場合、点セット内の (x0,x0) の k 番目の最近傍点を見つける方法。詳細には、点集合は x と y の 2 つの配列で表されます。点 (x0,y0) はインデックス i0 によって与えられます。x0=x(i0) と y0=y(i0) という意味です。
Matlab には、この問題に役立つ関数や何かがありますか。Matlab にそのような機能がない場合、他に有効な方法を教えてください。
編集: セット内のすべてのポイント (x0、y0) について、この種の距離を計算する必要があります。セットのサイズは約 1000 です。k の値は約 sqrt(1500) である必要があります。最悪のことは、これを何度も行うことです。反復ごとにセットが変更され、距離が再度計算されます。したがって、実行時間は重大な問題です。