替代更短的方法来置换和重塑多维数组

时间:2017-06-20 04:54:35

标签: arrays matlab multidimensional-array reshape permute

我有以下多维数组:

a(:,:,1) =
    11    12    13
    21    22    23

a(:,:,2) =
    21    22    23
    31    32    33

a(:,:,3) =
    31    32    33
    41    42    43

最终结果如下:

e =
    11    21    31
    12    22    32
    13    23    33
    21    31    41
    22    32    42
    23    33    43

为了获得阵列e,我做了以下事情:

b=permute(a,[2,1,3])  
c=reshape(b,1,6,[])  
d=permute(c,[2,1,3])

是否有更清洁或更优雅的方式来实现相同的结果?

2 个答案:

答案 0 :(得分:2)

这里只使用过一次:

ng2-loading-animate

答案 1 :(得分:0)

您可以执行以下操作:

reshape([a(:,:,1);a(:,:,2);a(:,:,3)].',6,3)