如何将三个二维矩阵组合成三维矩阵?

时间:2017-07-12 19:52:54

标签: matlab matrix concatenation

a = [1 2 3;
     4 5 6;
     7 8 9];

b = [10 11 12;
     13 14 15;
     16 17 18;
    ];

c = [19 20 21;
     22 23 24;
     25 26 27;
    ];

我想将上述2D矩阵组合成一个3D矩阵mat,以便我可以通过以下方式访问它们,

>> mat(:, :, 1)
ans = 
[1 2 3
 4 5 6
 7 8 9]

>> mat(:, :, 2) 
ans = 
[10 11 12
 13 14 15
 16 17 18]

>> mat(:,:,3)
ans = 
[19 20 21
 22 23 24
 25 26 27]

我尝试了以下内容,

mat = [a, b, c];

但是,它实际上不起作用。

那么,我该如何实现?

2 个答案:

答案 0 :(得分:5)

方括号[]用于矩阵的水平和垂直连接。您可以使用cat函数连接更高维度:

mat = cat(3, a, b, c);

可以找到更多信息here

答案 1 :(得分:3)

您可以使用显式矩阵索引执行以下操作:

mat(:,:,1) = a;
mat(:,:,2) = b;
mat(:,:,3) = c;

mat = [a, b, c];会创建一个3x9矩阵。