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

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

三维网格图的绘制稍显复杂,主要是因为绘图数据的准备及三维图形的色彩、明暗、光照和视角等的处理。

例如,绘制函数 z=f(x, y) 的三维网格图的过程如下:
1) 确定自变量的取值范围和取值间隔:
x=x1:dx:x2, y=y1:dy:y2

2) 构成 xOy 平面上的自变量采样“格点”矩阵:
① 利用“格点”矩阵的原理生成矩阵:
x=x1:dx:x2; y=y1:dy:y2;
X=ones(size(y))*x;
Y=y*ones(size(x));

② 利用 meshgrid 指令生成“格点”矩阵:
x=x1:dx:x2; y=y1:dy:y2;
[X,Y]=meshgrid(x,y);

3) 计算在自变量采样“格点”上的函数值:z=f(x, y)。在 MATLAB 中,利用 mesh() 函数绘制三维网格图,其调用格式如下:
【实例】在编辑器窗口中编写 M 文件并命名为3dmesh.m:
clear all
X = -10:0.1:10;
Y = -10:0.1:10;
[X,Y] = meshgrid(X,Y);
Z = - X.^2 - Y.^2 + 200;
mesh(X,Y,Z) ,grid on
运行程序,三维网格图如下图所示:


图 1 三维网格图

相关文章