surf函数matlab
时间: 2023-11-02 17:03:50 浏览: 21
`surf` 函数是 Matlab 中用于绘制三维表面图的函数。它可以将一个矩阵中的数据绘制成一个三维表面图。
函数语法如下:
```
surf(X, Y, Z)
surf(Z)
surf(..., C)
surf(..., Name, Value)
h = surf(...)
```
参数解释如下:
- `X`:表示数据矩阵 `Z` 中每个元素的横坐标。
- `Y`:表示数据矩阵 `Z` 中每个元素的纵坐标。
- `Z`:表示数据矩阵。
- `C`:表示颜色矩阵,用于为每个数据点设置颜色。
- `Name, Value`:表示其他可选参数,如绘图样式、轴标签等。
- `h`:表示图形对象句柄。
使用 `surf` 函数绘制三维表面图的步骤如下:
1. 准备数据矩阵 `Z` 和对应的横、纵坐标矩阵 `X` 和 `Y`。
2. 调用 `surf` 函数绘制三维表面图。
3. 可选地设置其他参数,如绘图样式、轴标签等。
4. 可选地获取图形对象句柄 `h`,以便后续操作。
示例代码如下:
```matlab
% 准备数据
[X, Y] = meshgrid(-2:0.1:2); % 创建横、纵坐标矩阵
Z = X .* exp(-X.^2 - Y.^2); % 创建数据矩阵
% 绘制三维表面图
surf(X, Y, Z);
% 设置其他参数
xlabel('X'); % 设置 X 轴标签
ylabel('Y'); % 设置 Y 轴标签
zlabel('Z'); % 设置 Z 轴标签
title('Three-dimensional surface plot'); % 设置标题
colormap(hot); % 设置颜色映射为热色映射
% 获取图形对象句柄
h = gcf;
```
运行以上代码将得到一个三维表面图,如下图所示:
![surf函数绘制的三维表面图](https://img-blog.csdn.net/20180320174015523)