2014-04-06 130 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