【问题标题】:Matlab - Transpose a 3D matrix only in the third dimensionMatlab - 仅在第三维转置 3D 矩阵
【发布时间】:2015-02-02 18:07:47
【问题描述】:

我有一个 3 x 3 x 2 矩阵,例如:

M(:,:,1) =
     1     2     3
     4     5     6
     7     8     9

M(:,:,2) =
    10    11    12
    13    14    15
    16    17    18

我想转置每个M(:,:,i),我的意思是我想要:

M(:,:,1) =
     1     4     7
     2     5     8
     3     6     9

M(:,:,2) =
    10    13    16
    11    14    17
    12    15    18

没有循环怎么可能做到这一点? 非常感谢!

【问题讨论】:

    标签: arrays matlab transpose multidimensional-array


    【解决方案1】:

    permute 就是这样做的:

    result = permute(M, [2 1 3]); %// swap dimensions 1 and 2
    

    【讨论】:

      猜你喜欢
      • 2014-09-06
      • 2017-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-08
      • 2017-07-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多