0 ~ 9 の値を持つ m*n 行列があります。基本的に、私がやりたいことは、値が 0 であるすべてのセルを見つけ、0 ではない k 個の最近傍を見つけることです。
私のコードは現在、次の行に沿っています。
ゼロを含むすべてのセルを見つけ、x と y の位置を保持する a*2 行列を作成します
0 のないすべてのセルに対して同じことを行います
指定された各ゼロ座標を循環するループを作成し、ゼロ以外のすべてのセルまでの距離を測定し、新しい行列の行 1 に記録します (行 2 と 3 はそれぞれ x 座標と y 座標です)。
sortrows() を使用してこの行列を昇順で取得し、最初の k 個の値 (つまり、最も近い k 個の座標) を抽出します。
繰り返す
私が望んでいたのは、内部ループなしで k 個の最も近いゼロ以外のセルをすばやく見つけて、各 0 セルに対して繰り返すことでした。アドバイスをいただければ幸いです。どうもありがとうございました。