【发布时间】:2014-05-18 17:23:24
【问题描述】:
我得到了一个 10x10 矩阵,其中包含一堆零和一个值为 1 的元素。 我正在尝试创建一个元素为 1 及其周围的子矩阵。
问题:
这只是一个例子,元素“1”被放置在矩阵中的任何位置。我确实意识到我可以使用 find find(MATRIX==1) 找到我的元素。
如何定义我的 3x3 子矩阵?
【问题讨论】:
我得到了一个 10x10 矩阵,其中包含一堆零和一个值为 1 的元素。 我正在尝试创建一个元素为 1 及其周围的子矩阵。
问题:
这只是一个例子,元素“1”被放置在矩阵中的任何位置。我确实意识到我可以使用 find find(MATRIX==1) 找到我的元素。
如何定义我的 3x3 子矩阵?
【问题讨论】:
您需要使用“查找”来获取该“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 没有超出范围)。
最好的。
【讨论】: