大块重塑的非平凡重组

时间:2017-02-16 13:16:56

标签: matlab reshape

我正在尝试重塑矩阵,但不是以标准方式。它基本上是一个" chunk"重塑。我有一个名为matrix1的列向量(T*N x 1)和一个名为matrix2的矩阵TxN。我希望列向量matrix1的前N个元素转换为matrix2的第一行。然后将向量matrix1的N个元素的第二个块转换为matrix2的第二行。

我知道如何使用循环(参见下面的代码)。只是想知道是否有更聪明的方法来做到这一点。

T = 2;
N = 7;

matrix1 = rand(T*N,1);
matrix2 = NaN(T,N);

for t = 1:T
    matrix2(t,:) = matrix1(t*N-N+1:t*N,1)';
end

1 个答案:

答案 0 :(得分:2)

使用reshape进行重塑...您可以在文字中描述标准重塑。

reshape(matrix1,N,T).'