标签: matlab
我有一个大小为M的矩阵981 x 567 x 1154。
M
981 x 567 x 1154
M是一个零的矩阵,在特定的X,Y,Z位置有122 1个。
122
如何在3D中绘制此图以在matlab中查看这些1的分布?
注意:如果我使用scatter3()或plot3()函数,我必须提供3个参数 - X,Y和Z向量。我基本上对如何将M矩阵转换为这3个输入感兴趣,因此我可以将它们传递给函数。
scatter3()
plot3()
3
答案 0 :(得分:1)
您可以使用find获取非零元素的线性索引,并使用ind2sub将其转换为3D索引,如下所示:
find
ind2sub
[I] = find(M); [X, Y, Z] = ind2sub(size(M),I);
现在您可以使用scatter3绘制3D点,如下所示:
scatter3
scatter3(X, Y, Z)
对于定义为:
M = zeros(5,5,5); M(2,1,1) = 1; M(1,4,5) = 1; M(2,2,2) = 1; M(3,2,2) = 1;