我正在尝试重塑矩阵,但不是以标准方式。它基本上是一个" 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
答案 0 :(得分:2)
使用reshape
进行重塑...您可以在文字中描述标准重塑。
reshape(matrix1,N,T).'