首页 > 编程笔记 > MATLAB笔记 阅读:157

MATLAB mesh()函数:绘制三维网格图(附带实例)

MATLAB 中 mesh() 函数生成的是由 X、Y 和 Z 指定的网线面,而不是单根曲线,它的主要调用格式及说明如下表所示。

表 1 mesh()函数调用格式及说明
调用格式 说明
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 函数曲面

相关文章