【问题标题】:Reshaping arrays in MATLAB在 MATLAB 中重塑数组
【发布时间】:2016-01-11 15:59:23
【问题描述】:

我有一个大小为 1024 x 1024 x 1024 的二进制 3D 数组。我想使用一个函数 (convhull),它具有以下输入:

X 的大小为 mpts-by-ndim,其中 mpts 是点数,ndim 是点所在空间的维度,2 ≦ ndim ≦ 3

如何将我的数组重塑为该函数所需的数组 X?

也许“重塑”不是最好的词,因为使用“重塑”功能还不够。

【问题讨论】:

  • 数组中的每个 3D 点代表什么?

标签: arrays matlab multidimensional-array reshape


【解决方案1】:

convhull 正在寻找的是数组中非零元素的下标列表。给定一个 3D 数组M

[X,Y,Z] = ind2sub(size(M), find(M));

然后你在convhull中使用这些:

convhull(X, Y, Z);

您在问题中提到的唯一X 参数就是这三个连接的列向量:

X = [X Y Z];
convhull(X);

【讨论】:

    猜你喜欢
    • 2014-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-09
    • 2014-08-05
    • 1970-01-01
    • 2014-06-01
    相关资源
    最近更新 更多