fmesh
绘制三维网格图
语法
说明
fmesh(
将在指定区间绘图。要对 f
,xyinterval
)x
和 y
使用相同的区间,请将 xyinterval
指定为 [min max]
形式的二元素向量。要使用不同的区间,请指定 [xmin xmax ymin ymax]
形式的四元素向量。
fmesh(
在指定区间绘制参数化网格。要对 funx
,funy
,funz
,uvinterval
)u
和 v
使用相同的区间,请将 uvinterval
指定为 [min max]
形式的二元素向量。要使用不同的区间,请指定 [umin umax vmin vmax]
形式的四元素向量。
fmesh(___,
设置网格的线型、标记符号和颜色。例如,LineSpec
)'-r'
指定红色线条。在前面的任何输入参量组合之后使用此选项。
fmesh(___,
使用一个或多个名称-值对组参量指定网格的属性。可将此选项与上述语法中的任何输入参量组合一起使用。Name,Value
)
fmesh(
将图形绘制到 ax
,___)ax
指定的坐标区中,而不是当前坐标区 gca
中。
返回 fs
= fmesh(___)FunctionSurface
对象或 ParameterizedFunctionSurface
对象,具体情况取决于输入。使用 fs
来查询和修改特定曲面的属性。有关属性列表,请参阅 FunctionSurface 属性 或 ParameterizedFunctionSurface 属性。
示例
表达式的三维网格图
参数化网格图
绘制参数化网格图
对于 ,。使用 alpha
使网格部分透明。
r = @(s,t) 2 + sin(7.*s + 5.*t); x = @(s,t) r(s,t).*cos(s).*sin(t); y = @(s,t) r(s,t).*sin(s).*sin(t); z = @(s,t) r(s,t).*cos(t); fmesh(x,y,z,[0 2*pi 0 pi]) alpha(0.8)
指定网格图区间并绘制分段输入
绘制分段输入
区间为
指定绘图区间作为 fmesh
的第二个参量。在相同坐标区的不同区间绘制多个输入时,坐标轴范围会调整以包括所有数据。
fmesh(@(x,y) erf(x)+cos(y),[-5 0 -5 5]) hold on fmesh(@(x,y) sin(x)+cos(y),[0 5 -5 5]) hold off
指定网格图属性
输入参数
f
— 要绘制的三维函数
函数句柄
要绘制的三维函数,指定为命名或匿名函数的函数句柄。
指定 z = f(x,y)
形式的函数。该函数必须接受两个矩阵输入参量,并返回大小相同的矩阵输出参量。为获得最佳性能,应使用数组运算符而不是矩阵运算符。例如,使用 .*
(times
) 而不是 * (mtimes
)。
示例: f = @(x,y) sin(x) + cos(y);
xyinterval
— x
和 y
的绘图区间
[-5 5 -5 5]
(默认) | [min max]
形式的向量 | [xmin xmax ymin ymax]
形式的向量
x
和 y
的绘图区间,指定为下列形式之一:
[min max]
形式的向量 - 对x
和y
都使用区间[min max]
。[xmin xmax ymin ymax]
形式的向量 - 对x
使用区间[xmin xmax]
,对y
使用区间[ymin ymax]
。
funx
— x 坐标的参数化函数
函数句柄
x 坐标的参数化函数,指定为命名或匿名函数的函数句柄。
指定 x = funx(u,v)
形式的函数。该函数必须接受两个矩阵输入参量,并返回大小相同的矩阵输出参量。为获得最佳性能,应使用数组运算符而不是矩阵运算符。例如,使用 .*
(times
) 而不是 * (mtimes
)。
示例: funx = @(u,v) u.*sin(v);
funy
— y 坐标的参数化函数
函数句柄
y 坐标的参数化函数,指定为命名或匿名函数的函数句柄。
指定 y = funy(u,v)
形式的函数。该函数必须接受两个矩阵输入参量,并返回大小相同的矩阵输出参量。为获得最佳性能,应使用数组运算符而不是矩阵运算符。例如,使用 .*
(times
) 而不是 * (mtimes
)。
示例: funy = @(t) @(u,v) -u.*cos(v);
funz
— z 坐标的参数化函数
函数句柄
z 坐标的参数化函数,指定为命名或匿名函数的函数句柄。
指定 z = funz(u,v)
形式的函数。该函数必须接受两个矩阵输入参量,并返回大小相同的矩阵输出参量。为获得最佳性能,应使用数组运算符而不是矩阵运算符。例如,使用 .*
(times
) 而不是 * (mtimes
)。
示例: funz = @(u,v) v;
uvinterval
— u
和 v
的绘图区间
[-5 5 -5 5]
(默认) | [min max]
形式的向量 | [umin umax vmin vmax]
形式的向量
u
和 v
的绘图区间,指定为下列形式之一:
[min max]
形式的向量 - 对u
和v
都使用区间[min max]
。[umin umax vmin vmax]
形式的向量 - 对u
使用区间[umin umax]
,对v
使用区间[vmin vmax]
。
ax
— 坐标区对象
坐标区对象
坐标区对象。如果您不指定坐标区对象,则 fmesh
使用当前坐标区。
LineSpec
— 线型、标记和颜色
字符串标量 | 字符向量
线型、标记和颜色,指定为包含符号的字符串标量或字符向量。符号可以按任意顺序显示。您不需要同时指定所有三个特征(线型、标记和颜色)。例如,如果忽略线型,只指定标记,则绘图只显示标记,不显示线条。
示例: "--or"
是带有圆形标记的红色虚线。
线型 | 描述 | 表示的线条 |
---|---|---|
"-" | 实线 |
|
"--" | 虚线 |
|
":" | 点线 |
|
"-." | 点划线 |
|
标记 | 描述 | 生成的标记 |
---|---|---|
"o" | 圆圈 |
|
"+" | 加号 |
|
"*" | 星号 |
|
"." | 点 |
|
"x" | 叉号 |
|
"_" | 水平线条 |
|
"|" | 垂直线条 |
|
"square" | 方形 |
|
"diamond" | 菱形 |
|
"^" | 上三角 |
|
"v" | 下三角 |
|
">" | 右三角 |
|
"<" | 左三角 |
|
"pentagram" | 五角形 |
|
"hexagram" | 六角形 |
|
颜色名称 | 短名称 | RGB 三元组 | 外观 |
---|---|---|---|
"red" | "r" | [1 0 0] | |
"green" | "g" | [0 1 0] | |
"blue" | "b" | [0 0 1] | |
"cyan" | "c" | [0 1 1] | |
"magenta" | "m" | [1 0 1] | |
"yellow" | "y" | [1 1 0] | |
"black" | "k" | [0 0 0] | |
"white" | "w" | [1 1 1] | |
名称-值参数
将可选的参量对组指定为 Name1=Value1,...,NameN=ValueN
,其中 Name
是参量名称,Value
是对应的值。名称-值参量必须出现在其他参量之后,但参量对组的顺序无关紧要。
在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name
引起来。
示例: 'Marker','o','MarkerFaceColor','red'
此处所列的属性只是一部分。有关完整列表,请参阅 FunctionSurface 属性。
MeshDensity
— 每个方向上的计算点数
35 (默认) | 数字
每个方向上的计算点数,以数值形式指定。默认值为 35
。由于 fmesh
对象使用自适应计算,因此实际的计算点数更大。
示例: 100
ShowContours
— 在绘图下显示等高线图
'off'
(默认) | on/off 逻辑值
在绘图下显示等高线图,指定为 'on'
或 'off'
,或者指定为数值或逻辑值 1
(true
) 或 0
(false
)。值 'on'
等效于 true,'off'
等效于 false
。因此,您可以使用此属性的值作为逻辑值。该值存储为 matlab.lang.OnOffSwitchState
类型的 on/off 逻辑值。
EdgeColor
— 线条颜色
'interp'
(默认) | RGB 三元组 | 十六进制颜色代码 | 'r'
| 'g'
| 'b'
| ...
线条颜色,指定为 'interp'
、RGB 三元组、十六进制颜色代码、颜色名称或短名称。默认值 'interp'
将基于 ZData
属性值为边着色。
对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。
RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于
[0,1]
范围内,例如[0.4 0.6 0.7]
。十六进制颜色代码是字符串标量或字符向量,以井号 (
#
) 开头,后跟三个或六个十六进制数字,范围可以是0
到F
。这些值不区分大小写。因此,颜色代码"#FF8800"
与"#ff8800"
、"#F80"
与"#f80"
是等效的。
此外,还可以按名称指定一些常见的颜色。下表列出了命名颜色选项、等效 RGB 三元组和十六进制颜色代码。
颜色名称 | 短名称 | RGB 三元组 | 十六进制颜色代码 | 外观 |
---|---|---|---|---|
"red" | "r" | [1 0 0] | "#FF0000" | |
"green" | "g" | [0 1 0] | "#00FF00" | |
"blue" | "b" | [0 0 1] | "#0000FF" | |
"cyan" | "c" | [0 1 1] | "#00FFFF" | |
"magenta" | "m" | [1 0 1] | "#FF00FF" | |
"yellow" | "y" | [1 1 0] | "#FFFF00" | |
"black" | "k" | [0 0 0] | "#000000" | |
"white" | "w" | [1 1 1] | "#FFFFFF" | |
"none" | 不适用 | 不适用 | 不适用 | 无颜色 |
以下是 MATLAB® 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。
RGB 三元组 | 十六进制颜色代码 | 外观 |
---|---|---|
[0 0.4470 0.7410] | "#0072BD" | |
[0.8500 0.3250 0.0980] | "#D95319" | |
[0.9290 0.6940 0.1250] | "#EDB120" | |
[0.4940 0.1840 0.5560] | "#7E2F8E" | |
[0.4660 0.6740 0.1880] | "#77AC30" | |
[0.3010 0.7450 0.9330] | "#4DBEEE" | |
[0.6350 0.0780 0.1840] | "#A2142F" |
示例: 'blue'
示例: [0 0 1]
示例: '#0000FF'
LineStyle
— 线型
"-"
(默认) | "--"
| ":"
| "-."
| "none"
线型,指定为下表中列出的选项之一。
线型 | 描述 | 表示的线条 |
---|---|---|
"-" | 实线 |
|
"--" | 虚线 |
|
":" | 点线 |
|
"-." | 点划线 |
|
"none" | 无线条 | 无线条 |
LineWidth
— 线条宽度
0.5
(默认) | 正值
线宽,指定为以磅为单位的正值,其中 1 磅 = 1/72 英寸。如果该线条具有标记,则线条宽度也会影响标记边。
线宽不能小于像素的宽度。如果将线宽设置为小于系统上像素宽度的值,则线条显示为一个像素的宽度。
Marker
— 标记符号
"none"
(默认) | "o"
| "+"
| "*"
| "."
| ...
标记符号,指定为下表中列出的值之一。默认情况下,对象不显示标记。指定标记符号可在每个数据点或顶点添加标记。
标记 | 描述 | 生成的标记 |
---|---|---|
"o" | 圆圈 |
|
"+" | 加号 |
|
"*" | 星号 |
|
"." | 点 |
|
"x" | 叉号 |
|
"_" | 水平线条 |
|
"|" | 垂直线条 |
|
"square" | 方形 |
|
"diamond" | 菱形 |
|
"^" | 上三角 |
|
"v" | 下三角 |
|
">" | 右三角 |
|
"<" | 左三角 |
|
"pentagram" | 五角形 |
|
"hexagram" | 六角形 |
|
"none" | 无标记 | 不适用 |
MarkerEdgeColor
— 标记轮廓颜色
'auto'
(默认) | RGB 三元组 | 十六进制颜色代码 | 'r'
| 'g'
| 'b'
| ...
标记轮廓颜色,指定为 'auto'
、RGB 三元组、十六进制颜色代码、颜色名称或短名称。默认值 'auto'
使用与 EdgeColor
属性相同的颜色。
对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。
RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于
[0,1]
范围内,例如[0.4 0.6 0.7]
。十六进制颜色代码是字符串标量或字符向量,以井号 (
#
) 开头,后跟三个或六个十六进制数字,范围可以是0
到F
。这些值不区分大小写。因此,颜色代码"#FF8800"
与"#ff8800"
、"#F80"
与"#f80"
是等效的。
此外,还可以按名称指定一些常见的颜色。下表列出了命名颜色选项、等效 RGB 三元组和十六进制颜色代码。
颜色名称 | 短名称 | RGB 三元组 | 十六进制颜色代码 | 外观 |
---|---|---|---|---|
"red" | "r" | [1 0 0] | "#FF0000" | |
"green" | "g" | [0 1 0] | "#00FF00" | |
"blue" | "b" | [0 0 1] | "#0000FF" | |
"cyan" | "c" | [0 1 1] | "#00FFFF" | |
"magenta" | "m" | [1 0 1] | "#FF00FF" | |
"yellow" | "y" | [1 1 0] | "#FFFF00" | |
"black" | "k" | [0 0 0] | "#000000" | |
"white" | "w" | [1 1 1] | "#FFFFFF" | |
"none" | 不适用 | 不适用 | 不适用 | 无颜色 |
以下是 MATLAB 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。
RGB 三元组 | 十六进制颜色代码 | 外观 |
---|---|---|
[0 0.4470 0.7410] | "#0072BD" | |
[0.8500 0.3250 0.0980] | "#D95319" | |
[0.9290 0.6940 0.1250] | "#EDB120" | |
[0.4940 0.1840 0.5560] | "#7E2F8E" | |
[0.4660 0.6740 0.1880] | "#77AC30" | |
[0.3010 0.7450 0.9330] | "#4DBEEE" | |
[0.6350 0.0780 0.1840] | "#A2142F" |
示例: [0.5 0.5 0.5]
示例: 'blue'
示例: '#D2F9A7'
MarkerFaceColor
— 标记填充颜色
"none"
(默认) | "auto"
| RGB 三元组 | 十六进制颜色代码 | "r"
| "g"
| "b"
| ...
标记填充颜色,指定为 "auto"
、RGB 三元组、十六进制颜色代码、颜色名称或短名称。"auto"
值使用与 MarkerEdgeColor
属性相同的颜色。
对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。
RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于
[0,1]
范围内,例如[0.4 0.6 0.7]
。十六进制颜色代码是字符串标量或字符向量,以井号 (
#
) 开头,后跟三个或六个十六进制数字,范围可以是0
到F
。这些值不区分大小写。因此,颜色代码"#FF8800"
与"#ff8800"
、"#F80"
与"#f80"
是等效的。
此外,还可以按名称指定一些常见的颜色。下表列出了命名颜色选项、等效 RGB 三元组和十六进制颜色代码。
颜色名称 | 短名称 | RGB 三元组 | 十六进制颜色代码 | 外观 |
---|---|---|---|---|
"red" | "r" | [1 0 0] | "#FF0000" | |
"green" | "g" | [0 1 0] | "#00FF00" | |
"blue" | "b" | [0 0 1] | "#0000FF" | |
"cyan" | "c" | [0 1 1] | "#00FFFF" | |
"magenta" | "m" | [1 0 1] | "#FF00FF" | |
"yellow" | "y" | [1 1 0] | "#FFFF00" | |
"black" | "k" | [0 0 0] | "#000000" | |
"white" | "w" | [1 1 1] | "#FFFFFF" | |
"none" | 不适用 | 不适用 | 不适用 | 无颜色 |
以下是 MATLAB 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。
RGB 三元组 | 十六进制颜色代码 | 外观 |
---|---|---|
[0 0.4470 0.7410] | "#0072BD" | |
[0.8500 0.3250 0.0980] | "#D95319" | |
[0.9290 0.6940 0.1250] | "#EDB120" | |
[0.4940 0.1840 0.5560] | "#7E2F8E" | |
[0.4660 0.6740 0.1880] | "#77AC30" | |
[0.3010 0.7450 0.9330] | "#4DBEEE" | |
[0.6350 0.0780 0.1840] | "#A2142F" |
示例: [0.3 0.2 0.1]
示例: "green"
示例: "#D2F9A7"
MarkerSize
— 标记大小
6
(默认) | 正值
标记大小,指定为以磅为单位的正值,其中 1 磅 = 1/72 英寸。
输出参量
fs
— 一个或多个 FunctionSurface
或 ParameterizedFunctionSurface
对象
标量 | 向量
一个或多个 FunctionSurface
或 ParameterizedFunctionSurface
对象,以标量或向量形式返回。
如果使用
fmesh(f)
语法或此语法的变体,fmesh
将返回FunctionSurface
对象。如果使用
fmesh(funx,funy,funz)
语法或此语法的变体,fmesh
将返回ParameterizedFunctionSurface
对象。
您可以使用这些对象来查询和修改特定网格图的属性。有关属性列表,请参阅 FunctionSurface 属性 和 ParameterizedFunctionSurface 属性。
版本历史记录
在 R2016a 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)