一些操作后如何将矩阵重新连接成小矩阵?
How to re-concatenate a matrix into small matrices after some operations?
以元胞数组 A {1x100} 为例。 A中的每个单元格是一个图像Mx5000。
例如A{1,1} 是 420x5000, A{1,2} 是 400x5000,.... A{1,100} 是 700x5 000.
当我垂直连接所有单元格时,我得到一个 Nx5000 MATRIX B。
做了一个操作后,5000 减少到 20。所以,我有图像 Mx20
现在,我如何将新的 Nx20 MATRIX B 重新连接到大小为初始元胞数组的元胞数组中,例如B{1,1} 为 420x20, B{1,2} 为 400x20,... B{1,100} 为 700x20
设变量 vertSizes
为包含 A 中所有元素的垂直大小的 1x100 向量。变量 C 将是包含 B 中所有矩阵的新单元格。以下代码应该适用于该作业。
vertSizes = [0, vertSizes];
for i = 1 : length(vertSizes) - 1
previousPos = sum(vertSizes(1:i));
newPos = previousPos + vertSizes(i+1);
C{1,i} = B(previousPos+1:newPos, :)
end
以元胞数组 A {1x100} 为例。 A中的每个单元格是一个图像Mx5000。 例如A{1,1} 是 420x5000, A{1,2} 是 400x5000,.... A{1,100} 是 700x5 000.
当我垂直连接所有单元格时,我得到一个 Nx5000 MATRIX B。 做了一个操作后,5000 减少到 20。所以,我有图像 Mx20
现在,我如何将新的 Nx20 MATRIX B 重新连接到大小为初始元胞数组的元胞数组中,例如B{1,1} 为 420x20, B{1,2} 为 400x20,... B{1,100} 为 700x20
设变量 vertSizes
为包含 A 中所有元素的垂直大小的 1x100 向量。变量 C 将是包含 B 中所有矩阵的新单元格。以下代码应该适用于该作业。
vertSizes = [0, vertSizes];
for i = 1 : length(vertSizes) - 1
previousPos = sum(vertSizes(1:i));
newPos = previousPos + vertSizes(i+1);
C{1,i} = B(previousPos+1:newPos, :)
end