MATLAB:创建3D数组,矢量化与循环

时间:2011-11-01 19:17:35

标签: arrays matlab vector

我在这里搜索了我的问题的答案,但找不到答案,所以如果它已经存在我提前道歉!

我要做的是在空间(x,y,z)创建一个三维点的3D数组。我知道在1D向量中你可以指定间隔,比如1:5:20,得到一个从1到20的向量间距为5.我想要做的是创建一个3D数组,很可能是逐行的最有效的,其间距是单位矢量(ix,iy,iz)。所以,例如,

    a(1,1,:) = [1, 1, 1]
    uv = [0.5 0.5 0.5]
    a(2,2,:) = [1.5, 1.5, 1.5]

等。我知道这些数字不是'单位向量',但这个想法就在那里。是否有a = [1, 1, 1] : uv : [end, end, end] ???

的内容

2 个答案:

答案 0 :(得分:4)

您可能对mesh grid感兴趣。

答案 1 :(得分:3)

一个例子:

[X,Y,Z] = meshgrid(1:0.1:2, 1:0.1:2, 1:0.1:2);    %# they can be different
points = [X(:) Y(:) Z(:)];

plot3(points(:,1),points(:,2),points(:,3),'.')
box on, axis equal
xlabel x, ylabel y, zlabel z

screenshot