如何从矩阵中分离行?

时间:2015-04-22 17:27:41

标签: matlab matrix

我有一个非常大的矩阵,大小为16384 x 16.我需要从中获得512 x 512矩阵。矩阵应按如下方式连接, 假设L大小为16384 x 16的矩阵。默认L排列如下

    L = [L1
         L2
         L3
         .
         .
         L32]. 

我需要获得L,使得G(即新的512x512矩阵)

     G = [L1L2...L32]

这里每个L是512x16矩阵。最初我尝试使用32x32矩阵并正确地获得结果,但我无法为更大的矩阵做到这一点。我该怎么办?以下是我用过的代码

       W1 = 32;
       Ans1 = L(1:W1,:);
       Ans2 = L(W1+1:end,:);
       G = [Ans1,Ans2];

感谢。

1 个答案:

答案 0 :(得分:3)

permute&的一种方法reshape -

cutlen = 512;  %// "Cut" after every cutlen rows
G = reshape(permute(reshape(L,cutlen,[],size(L,2)),[1 3 2]),cutlen,[]);