在 MATLAB 中重塑数组
Reshaping arrays in MATLAB
我有一个大小为 1024 x 1024 x 1024 的二进制 3D 数组。我想使用一个函数 (convhull
),它具有以下输入:
X is of size mpts-by-ndim, where mpts is the number of points and ndim is the dimension of the space where the points reside, 2 ≦ ndim ≦ 3
如何将数组重塑为此函数所需的数组 X?
也许 "reshape" 不是最好的词,因为使用 "reshape" 功能还不够。
convhull
寻找的是数组中非零元素的下标列表。给定一个 3D 数组 M
:
[X,Y,Z] = ind2sub(size(M), find(M));
然后你在convhull
中使用这些:
convhull(X, Y, Z);
您在问题中提到的唯一 X
参数就是这三个串联的列向量:
X = [X Y Z];
convhull(X);
我有一个大小为 1024 x 1024 x 1024 的二进制 3D 数组。我想使用一个函数 (convhull
),它具有以下输入:
X is of size mpts-by-ndim, where mpts is the number of points and ndim is the dimension of the space where the points reside, 2 ≦ ndim ≦ 3
如何将数组重塑为此函数所需的数组 X?
也许 "reshape" 不是最好的词,因为使用 "reshape" 功能还不够。
convhull
寻找的是数组中非零元素的下标列表。给定一个 3D 数组 M
:
[X,Y,Z] = ind2sub(size(M), find(M));
然后你在convhull
中使用这些:
convhull(X, Y, Z);
您在问题中提到的唯一 X
参数就是这三个串联的列向量:
X = [X Y Z];
convhull(X);