MATLAB mesh()函数:绘制三维网格图(附带实例)
MATLAB 中 mesh() 函数生成的是由 X、Y 和 Z 指定的网线面,而不是单根曲线,它的主要调用格式及说明如下表所示。
【实例】绘制函数 z=sin(r)/r,MATLAB程序如下:

图 2 函数曲面
| 调用格式 | 说明 |
|---|---|
| mesh(X,Y,Z) | 绘制三维网格图,颜色和曲面的高度相匹配。若 X 与 Y 均为向量,且 length(X)=n,length(Y)=m,而[m,n]=size(Z),则空间中的点 xi, yi, zi 为所绘曲面网格线的交点;若 X 与 Y 均为矩阵,则空间中的点 xij, yij, zij 为所绘曲面的网格线的交点 |
| mesh(Z) | 创建一个网格图,并将矩阵 Z 中元素的列索引和行索引用作 x 坐标和 y 坐标 |
| mesh(Z,C) | 同 mesh(Z),只不过颜色由 C 指定 |
| mesh(ax,...) | 将图形绘制到 ax 指定的坐标区中 |
| mesh(...,'PropertyName',PropertyValue,...) | 对指定的属性 PropertyName 设置属性值 PropertyValue,可以在同一语句中对多个属性进行设置 |
| h = mesh(...) | 返回图形对象句柄 |
【实例】绘制函数 z=sin(r)/r,MATLAB程序如下:
>> close all % 关闭当前已打开的文件
>> clear % 清除工作区的变量
>> [X,Y] = meshgrid(-8:.5:8); % 通过向量定义二维网格数据X、Y
>> R = sqrt(X.^2 + Y.^2) + eps; % 通过网格数据X、Y定义函数表达式,得到二维矩阵R
>> Z = sin(R)./R; % 通过二维矩阵R定义函数表达式,得到二维矩阵Z
>> C = del2(Z); % 计算矩阵Z 的离散拉普拉斯算子C
>> figure % 打开图形窗口
% 创建由X、Y和Z指定的网格面,以线性插值方式将光源应运于各个面中,网格面的线宽为0.3
>> mesh(X,Y,Z,C,'FaceLighting','gouraud','LineWidth',0.3)
>> title('函数曲面') % 为图形添加标题
>> xlabel('x'),ylabel('y'),zlabel('z') % 对x轴、y轴进行标注,添加标签
运行结果如下图所示:
图 2 函数曲面
ICP备案:
公安联网备案: