如何在Matlab中从数据文件中绘制3D表面

lya*_*yan 6 matlab

我有一个包含3列x,y,z的数据文件,我想做一个3D图来可视化表面.

我本可以使用meshgrid,但问题是我只有那些y <= x的数据.有办法吗?

一个例子:

x    y    z
============
1    1    0.5
2    1    0.3
2    2    1.2
3    1    1.1
3    2    8.0
3    3    1.4
============

小智 7

在许多情况下,一个简单的解决方案是使用trisurf.例如...

x = [1, 2, 2, 3, 3, 3];
y = [1, 1, 2, 1, 2, 3];
z = [0.5, 0.3, 1.2, 1.1, 1.8, 1.4];

tri = delaunay(x,y);
trisurf(tri,x,y,z)
Run Code Online (Sandbox Code Playgroud)

替代文字


Mik*_*ail 5

您可以填写确定性的缺失值,只需用两个两个嵌套循环一个小脚本xy.

否则,再次查看MATLAB文档中的函数meshgrid.在那里你看到See Also部分.不小心在那里列出了一个函数griddata.这就是你需要的!我还可以推荐更好的gridfit.