0

多数のゼロと値 1 の要素を含む 10x10 のマトリックスを取得しました。1 の要素とその周囲を含むサブマトリックスを作成しようとしています。

問題:

ここに画像の説明を入力

これは単なる例です。要素「1」はマトリックス内の任意の場所に配置されます。find を使用して自分の要素を見つけることができることに気づきfind(MATRIX==1)ました。

3x3 サブマトリックスを定義するにはどうすればよいですか?

4

1 に答える 1

1

「find」を使用してその「1」要素のインデックスを取得し、それらから目的の行列を作成する必要があります。何かのようなもの:

[row, col] = find(MATRIX==1);
subMatrix = MATRIX(row-1:row+1, col-1:col+1);

もちろん、'1' 要素が MATRIX の境界内にないことを確認する必要がある場合があります (つまり、row-1、row+1、col-1、col+1 が範囲外ではない)。

一番。

于 2014-04-06T15:32:22.053 に答える