【发布时间】:2015-08-18 03:52:20
【问题描述】:
我有一个 3D 矩阵 A,其大小是 40*40*20 double。 3D 矩阵中的值是"0" 或"1"。矩阵A中"1"的个数是50,我知道怎么求3D矩阵的对应坐标。代码如下所示:
[x y z] = ind2sub(size(A),find(A));
coords = [x y z];
我的问题是如何只找到3D矩阵A中非零元素的坐标[xi yi zi] (i=1,2,...,50),然后将值a1, a2, a3, ..., a50分配给对应的坐标[xi yi zi] (i=1,2,...,50),同时将"NaN"值分配给另一个坐标为零?
【问题讨论】:
-
为什么要扣分?
-
我没有投反对票,但这是因为你问的不是很清楚。请尝试给出您想要的数字示例...至少一个较小的数据集。
-
看起来你已经解决了这个问题,使用 proposd 解决方案。你有 x.y.z- 索引。你还想要什么?此外,您可以使用
A(A==0) = nan;。
标签: matlab matrix matlab-deployment