使用 x、y、z 数组在 MATLAB 中创建曲面图

Create surface plot in MATLAB using x,y,z array

我在 MATLAB 中得到了一个三列矩阵,给出了 x、y 和 z 值:

+----+-----+----+
| 65 | 300 | 10 |
| 65 | 500 |  5 |
| 70 | 300 |  9 |
| 70 | 500 |  4 |
| 75 | 300 |  8 |
| 75 | 500 |  3 |
+----+-----+----+

如果需要,可以使 x 和 y 数据始终形成网格,但如果不是必须的话,这将是有利的。

我想用这些数据创建一个 3D 表面。

我认为这意味着我需要转换数据以便我有 Z(x,y),例如:

+-----+----+----+----+
|     | 65 | 70 | 75 |
+-----+----+----+----+
| 300 | 10 |  9 |  8 |
| 500 |  5 |  4 |  3 |
+-----+----+----+----+

此时我想我可以调用 surface(Z)。

在 MATLAB 中实现这一目标的最佳方法是什么?

您可以按如下方式使用delaunay triangulation and plot it using trisurf(三角曲面图)。

T = delaunay(x,y);
trisurf(T,x,y,z);