2014-04-06 128 views
0

我得到了一個10x10的矩陣,一堆零和一個值爲1的元素。 我試圖創建一個元素爲1及其周圍的子矩陣。Matlab,定義子矩陣

問題:

enter image description here

這僅僅是一個例子,所述的元素 「1」 的任何地方放置在基質內。我意識到我可以使用find find(MATRIX==1)找到我的元素。

如何定義我的3x3子矩陣?

回答

1

您需要使用'find'來獲取那個'1'元素的索引,並從它們中構建所需的矩陣。喜歡的東西:

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

當然,你可能需要檢查的是「1」元素是不是在矩陣的邊界(即行1,行+ 1,COL-1,山坳+ 1不是越界)。

最好。

+0

感謝您的快速回答,非常感謝。 – user3503856