【问题标题】:Matlab : Reshaping Matrix to separate matricesMatlab:重塑矩阵以分离矩阵
【发布时间】:2015-07-11 13:53:03
【问题描述】:

我有一个矩阵Data。我想将此矩阵重塑为32 维度矩阵128x14

4096/32

ans =

   128

大小(数据)

ans =

    4096          14

我怎样才能通过使用重塑来做到这一点?

【问题讨论】:

    标签: arrays matlab matrix formatting reshape


    【解决方案1】:

    很简单:

    out = reshape(data, 128, 14, 32);
    

    您将获得 32 个 2D 矩阵放入一个 3D 矩阵中,其中每个切片为 128 x 14。请注意 MATLAB 将如何创建此矩阵。元素将按列主要顺序填充,因此它将获取您的 data 矩阵的列并将它们从左到右堆叠,直到您获得 14 列 128。然后它移动到 3D 矩阵中的下一个切片并拾取直到我们用完元素为止。

    【讨论】:

    • 谢谢你!是的,我就是他。 Stack 阻止了我提出更多问题,所以是的:
    • 但是现在如果我想从 3d 访问 2d 矩阵,我应该只使用 (126,14,1)
    • 哈哈哈好的。这样做:out(:, :, 1)。这将访问第一个切片的所有行和列。将 1 更改为您想要的任何切片。
    • 老兄,非常感谢。最后一个问题stackoverflow.com/questions/31357139/matlab-toolkit-functions
    • 不知道答案。对不起。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多