如何用matlab做三维曲面图 曲面不要带颜色

这里是数据 A=[0,0,50158.3;75,0,57741.7;150,0,77025;225,0,70525;0,0,65000;0,37.5,71662.5;0,75,77025;
0,112.5,69387.5]

参考代码:

[x,y]=meshgrid(linspace(0,225,20),linspace(0,113,20));
[x,y,z]=griddata(A(:,1),A(:,2),A(:,3),x,y);
mesh(x,y,z)

追问

不好意思 刚才的数据有问题 应该是这样的

您看这样能否做出来  中间缺数据 有办法计算出中间缺失的树脂么

追答

我刚才给你的代码就是可以补上其它缺失数据的,只是你之前写的数据不太对,改一下就可以了(每行对应一个点的坐标x-y-z):

A=[0,75,50158.3;75,75,57741.7;150,75,77025;225,75,70525;150,0,65000;150,37.5,71662.5;150,112.5,69387.5];
[x,y]=meshgrid(linspace(0,225,20),linspace(0,113,20));
[x,y,z]=griddata(A(:,1),A(:,2),A(:,3),x,y);
mesh(x,y,z)
hold on
scatter3(A(:,1),A(:,2),A(:,3),'filled')
hold off

完成上述计算的核心函数是griddata,默认是按照线性插值补上其它数据的,也可以改为三次曲面:

[x,y,z]=griddata(A(:,1),A(:,2),A(:,3),x,y,'cubic');

上面得到的曲面都是给出x-y平面上由边界点组成的区域内的值,如果希望得到整个矩形区域的曲面,可以用v4选项:

[x,y,z]=griddata(A(:,1),A(:,2),A(:,3),x,y,'v4');

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-10

>> h=surf(A)

>> set(h,'FaceColor','none')

相似回答