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

问题描述

我在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 |
+-----+----+----+----+

那时候我想我可以叫曲面(Z)。

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

解决方法

您可以使用delaunay三角剖分并使用trisurf(三角曲面图)对其进行绘制,如下所示。

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