分块进行非平凡重塑
Non-trivial reshape in chunks
我正在尝试重塑矩阵,但不是以标准方式。它基本上是 "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
使用 reshape
进行重塑...您在文中描述了一个标准的重塑。
reshape(matrix1,N,T).'
我正在尝试重塑矩阵,但不是以标准方式。它基本上是 "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
使用 reshape
进行重塑...您在文中描述了一个标准的重塑。
reshape(matrix1,N,T).'