MATLAB:从不规则数据点绘制3D表面

时间:2014-11-16 18:03:11

标签: matlab matlab-figure

我想说我有一个x坐标向量,一个y坐标矩阵和相应的z值:

xcoordinates = [1 2 3 4 5];
ycoordinates = repmat(xcoordinates,5,1)+rand(5,5);
    z = zeros(5,5);
for x=xcoordinates
    for y=1:5
        z(x,y) = sqrt(x^2+ycoordinates(x,y)^2);
    end
end

如何在相应的x和y值给定的点处绘制由z值确定的曲面?第一个x值定义矩阵第一行中所有y值的x值,第二个x值定义第二行中的所有值,依此类推。

(如果答案是griddata,我想要一些额外的指示。如何才能使我的数据格式正确?)

1 个答案:

答案 0 :(得分:4)

mesh(repmat(xcoordinates,5,1), ycoordinates, z)

顺便说一句,您可以轻松地对此计算进行矢量化:

x = repmat(1:5, 5, 1);
y = x + rand(5,5);
z = sqrt(x.^2+y.^2);
mesh(x', y, z)