根据条件使用变形将2D转换为3D

时间:2018-07-24 11:20:08

标签: matlab

我想使用整形。

 v=[1:20 ;2:2:40 ;3:3:60 ;4:4:80];

使用reshape(v,4,4,5)得到输出:

ans(:,:,1) =   
 1     5     9    13
 2     6    10    14
 3     7    11    15
 4     8    12    16

ans(:,:,2) =

17     2    10    18
18     4    12    20
19     6    14    22
20     8    16    24

以此类推。但我渴望

ans(:,:,1)=

 1     2     3     4
 2     4     6     8
 3     6     9    12
 4     8    12    16

ans(:,:,2)=
 5    10    15    20
 6    12    18    24
 7    14    21    28
 8    16    24    32

reshape(v',4,4,5)也不适合我

1 个答案:

答案 0 :(得分:2)

借助reshape功能,您处在正确的轨道上。您只需要使用permute转置3D切片。即

permute(reshape(v,4,4,[]),[2 1 3])