[英]MATLAB: Plot 3D surface from irregular data points
假设我有一个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
我还需要一些其他指针。如何将数据转换为正确的格式?)
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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.