Matlab で、次のような行列があるとします。
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
ここで、すべての要素の周りに 3x3 のサブマトリックスを見つける必要があります (したがって、各要素は 3x3 サブマトリックスの中心になります)。途中で fx を見つけても問題ありません。
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
サブマトリックスは次のとおりです。
2 3 4
2 3 4
2 3 4
しかし、マトリックスの境界、つまり最初または最後の行または列の要素にある場合、もちろん 3x3 サブマトリックスを見つけることはできません。代わりに、適合する部分行列が必要です。コーナーFXで私は得るだろう
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
サブマトリックスは次のとおりです。
1 2
1 2
国境の真ん中で、fx を取得します。
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
与える:
4 5 6
4 5 6
または別の例として:
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
与える:
6 7 8
6 7 8
私の言いたいことを理解していただければ幸いです。要素から境界線までの距離を見つけることができる機能がありません。
すべての要素をサブマトリックスの中心として扱うことができ、要素から境界線までの距離がサブマトリックスの境界線より下にあるかどうかをテストできれば (サブマトリックスの寸法は、5x5 サブマトリックスを fx に変更します)、次に私は作成中にサブマトリックスの一部を切り捨てることができます。
最も効率的な方法で要素から行列の境界までの距離を見つけるにはどうすればよいですか?