【发布时间】:2015-07-11 13:53:03
【问题描述】:
我有一个矩阵Data。我想将此矩阵重塑为32 维度矩阵128x14。
4096/32
ans =
128
大小(数据)
ans =
4096 14
我怎样才能通过使用重塑来做到这一点?
【问题讨论】:
标签: arrays matlab matrix formatting reshape
我有一个矩阵Data。我想将此矩阵重塑为32 维度矩阵128x14。
4096/32
ans =
128
大小(数据)
ans =
4096 14
我怎样才能通过使用重塑来做到这一点?
【问题讨论】:
标签: arrays matlab matrix formatting reshape
很简单:
out = reshape(data, 128, 14, 32);
您将获得 32 个 2D 矩阵放入一个 3D 矩阵中,其中每个切片为 128 x 14。请注意 MATLAB 将如何创建此矩阵。元素将按列主要顺序填充,因此它将获取您的 data 矩阵的列并将它们从左到右堆叠,直到您获得 14 列 128。然后它移动到 3D 矩阵中的下一个切片并拾取直到我们用完元素为止。
【讨论】:
out(:, :, 1)。这将访问第一个切片的所有行和列。将 1 更改为您想要的任何切片。