【问题标题】:Create 3-dimensional array from 2 dimensional array in matlab在matlab中从二维数组创建3维数组
【发布时间】:2014-12-09 09:56:39
【问题描述】:

我想知道如何在 matlab 中从二维数组生成一个 3 维数组。我缺乏理解可能仅仅是因为不知道正确的命名法。

我有一个二维数组或矩阵,A:

A = [12, 62, 93, -8, 22; 16, 2, 87, 43, 91; -4, 17, -72, 95, 6] 

我想添加一个具有相同值的第三维:

A(:,:,1) = 12    62    93    -8    22
           16     2    87    43    91
           -4    17   -72    95     6

A(:,:,2) = 12    62    93    -8    22
           16     2    87    43    91
           -4    17   -72    95     6

A(:,:,p) = 12    62    93    -8    22
           16     2    87    43    91
           -4    17   -72    95     6

我将如何以最有效的方式执行此操作(我可能有一个更大的数组,其中 m = 100,n = 50,p= 1000,其中 A(m,n,p)。

【问题讨论】:

  • 在您的Matlab命令窗口中输入“doc repmat”,我不知道它是否最有效,但生成的代码将易于阅读和理解。

标签: arrays matlab multidimensional-array


【解决方案1】:

试试

 result = reshape(repmat(A,1,p),m,n,p)

【讨论】:

    猜你喜欢
    • 2016-12-27
    • 1970-01-01
    • 1970-01-01
    • 2023-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-18
    相关资源
    最近更新 更多