矩阵的矢量化重塑由块

时间:2016-01-16 21:31:31

标签: performance matlab matrix vectorization reshape

我有这个矩阵

[1,2,3;
 4,5,6;
 7,8,9;
 10,11,12;]

我想在2块中重塑它,以2的倍数堆叠行。所以输出看起来像

[1,2,3,7,8,9;
 4,5,6,10,11,12]

一般情况下,我想在块中将(N^2) x M矩阵重新整形为N x (N*M)矩阵。有什么想法吗?

1 个答案:

答案 0 :(得分:4)

很简单,假设A为输入矩阵 -

reshape(permute(reshape(A,N,N,[]),[1 3 2 4]),N,[])