【发布时间】:2012-11-22 14:53:21
【问题描述】:
我有一个 N×M 矩阵 m 像:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
我想得到 所有 个大小为 P×Q(P,Q 是奇数)的子矩阵,不使用 for 循环。
结果s应该是一个P×Q×((N-P+1)·(M-Q+1))矩阵。
例如如果 P=Q=3:
s(:,:,1) = [1 2 3; 5 6 7; 9 10 11]
s(:,:,2) = [2 3 4; 6 7 8; 10 11 12]
s(:,:,3) = [5 6 7; 9 10 11; 13 14 15]
s(:,:,4) = [6 7 8; 10 11 12; 14 15 16]
【问题讨论】:
-
为什么会有倍数?例如。
5 6 7出现两次。 -
@Jonas 抱歉,我的例子令人困惑。现在更容易理解了吗?
-
不,我还是不太明白:为什么要重复条目?只是为了让你可以填满你的数组?另外,你看过我的解决方案了吗?
标签: matlab vectorization submatrix