2017-02-03 132 views
1

我有两个矩阵AB,每个维4x110。我想创建一个尺寸为4x2x110的三维矩阵C,它由来自AB的值填充。 C的第二个维度为2,因为我们有两个矩阵AB如何从两个矩阵中创建一个3维矩阵,每个矩阵都是2维

谢谢。

+0

谢谢,我真的尽力了,但我失败 – Henry

+0

如果你真的想要一个'Mx2xN'因此,您可以用'C = horzcat(置换(A,[1 3 2]),置换(B,[1 3 2]))' –

回答

3

不完全是火箭科学。

c = cat(3, A, B); 

c(:, :, 1) is A 
c(:, :, 2) is B 
+1

谢谢。一位名叫史蒂芬之前的人试图变得聪明,并建议循环。你的方法好得多。他删除了他的评论,请登录 – Henry

+0

@Henry,我很高兴它有帮助。 –

+0

这给出了一个“4x11x2”结果,而不是“4x2x11”。你可能需要'c = permute(c,[1 3 2]);'之后 –

1

您只需复制矩阵。

A = ones(4, 110); 
B = 2*ones(4, 110); 
C(:, 1, :) = A; 
C(:, 2, :) = B; 
size(C) 

输出:

ans = 

    4  2 110