4
我正在将3d矩阵转换为2d矩阵。这是形状变换:[n x m x o] - > [n * o x m]。将矩阵从3d更改为2d,保持行
矩阵的元素是行相关的。因此,要求在结果矩阵中具有相同的行。
A = rand(2,2,3);
这样做:
C = reshape(A, 2*3, 2);
不保持在A.行
所以我这样做:
B = zeros(size(A,1)*size(A,3),size(A,2));
first_indice = 1;
for i = 1:size(A,3)
B(first_indice:size(A,1)*i,:)=A(:,:,i);
first_indice = first_indice + size(A,1);
end
是否有可能使用重塑一个更有效的方法?
非常感谢!
使用置换而不是ipermute的作品,是不是?我真的不明白3D排列... – rauldg 2011-12-28 15:03:04
伟大的啤酒瓶,在我看来,这应该超过两个upvotes。 – Wok 2012-10-19 08:36:04