MATLAB fmesh()函数:绘制三维网格图(附带实例)
MATLAB 中的 fmesh() 函数用来绘制符号函数 f(x,y)(即 f 是关于 x、y 的数学函数的字符串表示)的三维网格图形,它的调用格式及说明如下表所示。
【实例】绘制下面函数的三维网格表面图。MATLAB 程序如下:

图 2 三维网格表面图
调用格式 | 说明 |
---|---|
fmesh(f) | 绘制 f(x,y) 在系统默认区域 x∈[-5 5], y∈[-5 5] 内的三维网格图 |
fmesh(f,[a,b]) | 绘制 f(x,y) 在区域 x∈(a,b), y∈(a,b) 内的三维网格图 |
fmesh(f,[a,b,c,d]) | 绘制 f(x,y) 在区域 x∈(a,b), y∈(c,d) 内的三维网格图 |
fmesh (x,y,z) | 绘制参数曲面 x=x(s,t), y=y(s,t), z=z(s,t) 在系统默认区域 s∈[-5 5], t∈[-5 5] 内的三维网格图 |
fmesh (x,y,z,[a,b]) | 绘制上述参数曲面在 s∈[a b], t∈[a b] 内的三维网格图 |
fmesh (x,y,z,[a,b,c,d]) | 绘制上述参数曲面在 s∈[a b], t∈[c d] 内的三维网格图 |
fmesh(...,LineSpec) | 设置网格的线型、标记符号和颜色 |
fmesh(...,Name,Value) | 使用一个或多个名称-值对组参数指定网格的属性 |
fmesh(ax,...) | 在 ax 指定的坐标区中绘制图形,而不是当前坐标区 gca 中 |
fs = fmesh(...) | 使用 fs 来查询和修改特定曲面的属性 |
【实例】绘制下面函数的三维网格表面图。MATLAB 程序如下:
>> close all % 关闭当前已打开的文件 >> clear % 清除工作区的变量 >> syms x y % 定义符号变量x和y >> f=sin(x)*exp(y)+cos(y)*exp(x); % 输入符号变量 x、y定义的表达式f % 将视图分割为1×2的图窗,在第1个图窗中绘制表达式f的三维曲面,自变量x、y取值范围为(-pi,pi) >> subplot(1,2,1) ,fmesh(f,[-pi,pi]) >> title('区间[-pi,pi]带网格线的三维表面图') % 为图形添加标题 % 在第2个图窗绘制以x、y为自变量定义的表达式的三维曲面,自变量x、y取值范围为默认区间(-5,5) >> subplot(1,2,2) , fmesh(x,y,x.*exp(-x.^2-y.^2)) >> title('默认区间[-5,5]带网格线的三维曲线') % 为图形添加标题运行结果如下图所示:

图 2 三维网格表面图