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 函数曲面