Arrays MATLAB:将3D转换为2D(串联)

Arrays MATLAB:将3D转换为2D(串联),arrays,matlab,multidimensional-array,reshape,Arrays,Matlab,Multidimensional Array,Reshape,我需要将一个3D数组s转换为一个2D数组sReshape,这样第三维的每个切片都将简单地放在第一个切片的2D数组的行下面 以下是示例以及预期的解决方案: s = reshape((1:30),[5,3,2]); sReshape = ??? resultExpected = [(1:5),(16:20) ; (6:10),(21:25) ; (11:15),(26:30)]'; isequal(sReshape, resultExpected) 在重塑形状之前,可以使用permute在第二和

我需要将一个3D数组
s
转换为一个2D数组
sReshape
,这样第三维的每个切片都将简单地放在第一个切片的2D数组的行下面

以下是示例以及预期的解决方案:

s = reshape((1:30),[5,3,2]);
sReshape = ???

resultExpected = [(1:5),(16:20) ; (6:10),(21:25) ; (11:15),(26:30)]';
isequal(sReshape, resultExpected)

在重塑形状之前,可以使用
permute
在第二和第三维度之间切换:

s = reshape((1:30),[5,3,2]);
% switch between the 2nd and third dimensions
y = permute(s,[1 3 2]);
% reshape into 3 columns matrix
sReshape = reshape(y,[],3);

resultExpected = [(1:5),(16:20) ; (6:10),(21:25) ; (11:15),(26:30)]';
isequal(sReshape, resultExpected)

在重塑形状之前,可以使用
permute
在第二和第三维度之间切换:

s = reshape((1:30),[5,3,2]);
% switch between the 2nd and third dimensions
y = permute(s,[1 3 2]);
% reshape into 3 columns matrix
sReshape = reshape(y,[],3);

resultExpected = [(1:5),(16:20) ; (6:10),(21:25) ; (11:15),(26:30)]';
isequal(sReshape, resultExpected)