行列内のセル (行、列) の「深さ」を見つける関数を作成する必要があります。
たとえば、nxm行列が与えられmat = ones(6,6)
た場合..
mat =
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
結果は次のようになります。
thick =
1 1 1 1 1 1
1 2 2 2 2 1
1 2 3 3 2 1
1 2 3 3 2 1
1 2 2 2 2 1
1 1 1 1 1 1
ここで、"1" はエッジ セルを定義する最小の厚さです。周囲のセルが追加されるたびに、+1 の厚みが追加されます。NANが境界上にある場合、「エッジ」として処理する必要があります...しかし、後でそれを構築できると思います。
アイデア?どんな助けでも感謝します。ありがとう!
編集:
元の編集を削除しました。元の問題を再考する必要があります。基本的に、マトリックス内の最も深いセルを見つけたいと思っています。行列は規則的である必要はなく、穴があってもかまいません。通常、これはポリゴンを使用してそのポリゴン内に収まる最大の円の直径を見つけることで達成されますが、MATLAB でそれをどの程度効率的に実装できるかはわかりません。うーん....