从矩阵中提取子矩阵

时间:2013-11-24 14:45:09

标签: matlab

我想知道:我有100x100矩阵。我想将它分成几个10x10子矩阵,第一个包括列和行1-10,然后第二个包括列11-20和行1-10和子,直到最终我有一组10x10矩阵。

有没有办法这样做而不需要构建极其复杂的for循环数组?

谢谢:)

1 个答案:

答案 0 :(得分:0)

如果您需要提取明确的子矩阵而不是mat2cell,那将是一个合理的选择:

sm = mat2cell( M, 10*ones(1,size(M,1)/10), 10*ones(1,size(M,2)/10) );

但是,如果您只需要这些子矩阵进行本地处理,则可以使用blockproc

blockproc( M, [10 10], @myFun );