如何在matlab中创建3D数组?

时间:2011-11-26 05:07:06

标签: matlab multidimensional-array

  

可能重复:
  Matlab: How to create a 3D matrix?

我有两个载体如下:

A= 5 x 10 ( 5 rows, 10 column)
B= 5 x 6  ( 5 rows , 6 column)

如何创建3D数组,意味着5 x 10 x 6,但未填充零?

1 个答案:

答案 0 :(得分:1)

我认为3D矩阵不是你想要的。我会建议以下选项:

选项1.单元阵列

>> A = rand(5,10); B = rand(5,6); 
>> {A, B}

ans = 

    [5x10 double]    [5x6 double]

选项2.细胞矩阵

>> clear C; for i=1:5, C{i,1} = A(i,:)'; C{i,2} = B(i,:)'; end; C

C = 

    [10x1 double]    [6x1 double]
    [10x1 double]    [6x1 double]
    [10x1 double]    [6x1 double]
    [10x1 double]    [6x1 double]
    [10x1 double]    [6x1 double]

选项3.连接数组,然后简单地索引所需的部分。

>> C = [A,B]; size(C)

ans =

    5    16

选项4.使用结构数组

>> clear C; for i=1:5, C(i).A = A(i,:)'; C(i).B = B(i,:)'; end; C

C = 

1x5 struct array with fields:
    A
    B

如果您将3D矩阵视为立方体,将2D矩阵视为正方形,您应该看到您要做的是从两个正方形创建一个立方体,将立方体的体积留空(以及作为其他四方)。