让我们一劳永逸地解决这些跨越三维的串联和切割问题吧!
第一部分(3D 到 2D):沿着列并跨过连接3rd
暗淡的3D
array, A
形成一个2D
array -
reshape(permute(A,[1 3 2]),[],size(A,2))
第二部分(2D 到 3D): Cut a 2D
array B
每次之后N
形成的行3D
的切片3D
array -
permute(reshape(B,N,size(B,1)/N,[]),[1 3 2])
样本运行 -
第一部分(3D 到 2D)
>> A
A(:,:,1) =
4 1 4 3
8 4 6 4
8 5 6 1
A(:,:,2) =
9 4 4 1
2 2 9 7
1 5 9 3
A(:,:,3) =
4 4 7 7
5 9 6 6
9 3 5 2
>> B = reshape(permute(A,[1 3 2]),[],size(A,2));
>> B
B =
4 1 4 3
8 4 6 4
8 5 6 1
9 4 4 1
2 2 9 7
1 5 9 3
4 4 7 7
5 9 6 6
9 3 5 2
第二部分(2D 到 3D)
>> N = 3;
>> permute(reshape(B,N,size(B,1)/N,[]),[1 3 2])
ans(:,:,1) =
4 1 4 3
8 4 6 4
8 5 6 1
ans(:,:,2) =
9 4 4 1
2 2 9 7
1 5 9 3
ans(:,:,3) =
4 4 7 7
5 9 6 6
9 3 5 2