Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

fplot

绘制表达式或函数

  • Plot expression or function

说明

示例

fplot(f) 在默认区间 [-5 5](对于 x)绘制由函数 y = f(x) 定义的曲线。

示例

fplot(f,xinterval) 将在指定区间绘图。将区间指定为 [xmin xmax] 形式的二元素向量。

示例

fplot(funx,funy) 在默认区间 [-5 5](对于 t)绘制由 x = funx(t)y = funy(t) 定义的曲线。

fplot(funx,funy,tinterval) 将在指定区间绘图。将区间指定为 [tmin tmax] 形式的二元素向量。

fplot(___,LineSpec) 指定线型、标记符号和线条颜色。例如,'-r' 绘制一根红色线条。在前面语法中的任何输入参数组合后使用此选项。

示例

fplot(___,Name,Value) 使用一个或多个名称-值对组参数指定线条属性。例如,'LineWidth',2 指定 2 磅的线宽。

fplot(ax,___) 将图形绘制到 ax 指定的坐标区中,而不是当前坐标区 (gca) 中。指定坐标区作为第一个输入参数。

示例

fp = fplot(___) 返回 FunctionLine 对象或 ParameterizedFunctionLine 对象,具体情况取决于输入。使用 fp 查询和修改特定线条的属性。有关属性列表,请参阅 FunctionLine 属性ParameterizedFunctionLine 属性

[x,y] = fplot(___) 返回函数的纵坐标和横坐标,而不创建绘图。在以后的版本中将会删除该语法。请改用线条对象 fpXDataYData 属性。

注意

fplot 不再支持用于指定误差容限或计算点数量的输入参数。要指定计算点数,请使用 MeshDensity 属性。

示例

全部折叠

x 的默认区间 [-5 5] 绘制 sin(x)

fplot(@(x) sin(x))

Figure contains an axes object. The axes object contains an object of type functionline.

绘制参数化曲线 x=cos(3t)y=sin(2t)

xt = @(t) cos(3*t);
yt = @(t) sin(2*t);
fplot(xt,yt)

Figure contains an axes object. The axes object contains an object of type parameterizedfunctionline.

绘制分段函数

ex-3<x<0cos(x)0<x<3.

使用 hold on 绘制多个线条。使用 fplot 的第二个输入参数指定绘图区间。使用 'b' 将绘制的线条颜色指定为蓝色。在相同坐标区中绘制多个线条时,坐标轴范围会调整以容纳所有数据。

fplot(@(x) exp(x),[-3 0],'b')
hold on
fplot(@(x) cos(x),[0 3],'b')
hold off
grid on

Figure contains an axes object. The axes object contains 2 objects of type functionline.

绘制具有不同相位的三个正弦波。对于第一个,使用 2 磅的线宽。对于第二个,指定带有圆形标记的红色虚线线型。对于第三个,指定带有星号标记的青蓝色点划线线型。

fplot(@(x) sin(x+pi/5),'Linewidth',2);
hold on
fplot(@(x) sin(x-pi/5),'--or');
fplot(@(x) sin(x),'-.*c')
hold off

Figure contains an axes object. The axes object contains 3 objects of type functionline.

绘制 sin(x) 并将函数行对象指定给变量。

fp = fplot(@(x) sin(x))

Figure contains an axes object. The axes object contains an object of type functionline.

fp = 
  FunctionLine with properties:

     Function: @(x)sin(x)
        Color: [0 0.4470 0.7410]
    LineStyle: '-'
    LineWidth: 0.5000

  Show all properties

通过使用圆点表示法设置属性,将线条更改为红色点线。添加交叉标记,并将标记颜色设置为蓝色。

fp.LineStyle = ':';
fp.Color = 'r';
fp.Marker = 'x';
fp.MarkerEdgeColor = 'b';

Figure contains an axes object. The axes object contains an object of type functionline.

使用 hold on 绘制两个线条。

fplot(@(x) sin(x))
hold on 
fplot(@(x) cos(x))
hold off

Figure contains an axes object. The axes object contains 2 objects of type functionline.

使用函数句柄从 -2π2π 绘制 sin(x)。网格线的显示方式。然后添加一个标题,并为 x 轴和 y 轴添加标签。

fplot(@sin,[-2*pi 2*pi])
grid on
title('sin(x) from -2\pi to 2\pi')
xlabel('x');
ylabel('y');

Figure contains an axes object. The axes object with title s i n ( x ) blank f r o m blank - 2 pi blank t o blank 2 pi contains an object of type functionline.

使用 gca 访问当前坐标区对象。沿 x 轴以 π/2 为间隔显示刻度线。通过设置坐标区对象的 XTickXTickLabel 属性,格式化 x 轴刻度值。y 轴存在类似属性。

ax = gca;
ax.XTick = -2*pi:pi/2:2*pi;
ax.XTickLabel = {'-2\pi','-3\pi/2','-\pi','-\pi/2','0',...
    '\pi/2','\pi','3\pi/2','2\pi'};

Figure contains an axes object. The axes object with title s i n ( x ) blank f r o m blank - 2 pi blank t o blank 2 pi contains an object of type functionline.

输入参数

全部折叠

要绘制的函数,指定为命名或匿名函数的函数句柄。

指定 y = f(x) 形式的函数。该函数必须接受向量输入参数,并返回大小相同的向量输出参数。为获得最佳性能,应使用数组运算符而不是矩阵运算符。例如,使用 .* (times) 而不是 * (mtimes)。

注意

将来的版本将不再支持字符向量输入。请改用函数句柄。

示例: f = @(x) sin(x);

x 的区间,指定为 [xmin xmax] 形式的二元素向量。

x 坐标的参数化函数,指定为命名或匿名函数的函数句柄。

指定 x = funx(t) 形式的函数。该函数必须接受向量输入参数,并返回大小相同的向量输出参数。为获得最佳性能,应使用数组运算符而不是矩阵运算符。例如,使用 .* (times) 而不是 * (mtimes)。

示例: funx = @(t) sin(2*t);

y 坐标的参数化函数,指定为命名或匿名函数的函数句柄。

指定 y = funy(t) 形式的函数。该函数必须接受向量输入参数,并返回大小相同的向量输出参数。为获得最佳性能,应使用数组运算符而不是矩阵运算符。例如,使用 .* (times) 而不是 * (mtimes)。

示例: funy = @(t) cos(3*t);

t 的区间,指定为 [tmin tmax] 形式的二元素向量。

坐标区对象。如果您不指定坐标区对象,则 fplot 使用当前坐标区 (gca)。

线型、标记和颜色,指定为包含符号的字符向量或字符串。符号可以按任意顺序显示。您不需要同时指定所有三个特征(线型、标记和颜色)。例如,如果忽略线型,只指定标记,则绘图只显示标记,不显示线条。

示例: '--or' 是带有圆形标记的红色虚线

线型描述表示的线条
'-'实线

Sample of solid line

'--'虚线

Sample of dashed line

':'点线

Sample of dotted line

'-.'点划线

Sample of dash-dotted line, with alternating dashes and dots

标记描述生成的标记
'o'圆圈

Sample of circle marker

'+'加号

Sample of plus sign marker

'*'星号

Sample of asterisk marker

'.'

Sample of point marker

'x'叉号

Sample of cross marker

'_'水平线条

Sample of horizontal line marker

'|'垂直线条

Sample of vertical line marker

's'方形

Sample of square marker

'd'菱形

Sample of diamond line marker

'^'上三角

Sample of upward-pointing triangle marker

'v'下三角

Sample of downward-pointing triangle marker

'>'右三角

Sample of right-pointing triangle marker

'<'左三角

Sample of left-pointing triangle marker

'p'五角形

Sample of pentagram marker

'h'六角形

Sample of hexagram marker

颜色名称短名称RGB 三元组外观
'red''r'[1 0 0]

Sample of the color red

'green''g'[0 1 0]

Sample of the color green

'blue''b'[0 0 1]

Sample of the color blue

'cyan' 'c'[0 1 1]

Sample of the color cyan

'magenta''m'[1 0 1]

Sample of the color magenta

'yellow''y'[1 1 0]

Sample of the color yellow

'black''k'[0 0 0]

Sample of the color black

'white''w'[1 1 1]

Sample of the color white

名称-值参数

将可选的参数对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参数名称,Value 是对应的值。名称-值参数必须出现在其他参数之后,但参数对组的顺序无关紧要。

在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name 引起来。

示例: 'Marker','o','MarkerFaceColor','red'

此处所列的属性只是一部分。有关完整列表,请参阅 FunctionLine 属性ParameterizedFunctionLine 属性

计算点数,以数值形式指定。默认值为 23。由于 fplot 使用自适应计算,因此实际的计算点数更大。

线条颜色,指定为 RGB 三元组、十六进制颜色代码、颜色名称或短名称。

对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。

  • RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1] 范围内,例如 [0.4 0.6 0.7]

  • 十六进制颜色代码是字符向量或字符串标量,以井号 (#) 开头,后跟三个或六个十六进制数字,范围可以是 0F。这些值不区分大小写。因此,颜色代码 '#FF8800''#ff8800''#F80''#f80' 是等效的。

此外,还可以按名称指定一些常见的颜色。下表列出了命名颜色选项、等效 RGB 三元组和十六进制颜色代码。

颜色名称短名称RGB 三元组十六进制颜色代码外观
'red''r'[1 0 0]'#FF0000'

Sample of the color red

'green''g'[0 1 0]'#00FF00'

Sample of the color green

'blue''b'[0 0 1]'#0000FF'

Sample of the color blue

'cyan' 'c'[0 1 1]'#00FFFF'

Sample of the color cyan

'magenta''m'[1 0 1]'#FF00FF'

Sample of the color magenta

'yellow''y'[1 1 0]'#FFFF00'

Sample of the color yellow

'black''k'[0 0 0]'#000000'

Sample of the color black

'white''w'[1 1 1]'#FFFFFF'

Sample of the color white

以下是 MATLAB® 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。

RGB 三元组十六进制颜色代码外观
[0 0.4470 0.7410]'#0072BD'

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]'#D95319'

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]'#EDB120'

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]'#7E2F8E'

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]'#77AC30'

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]'#4DBEEE'

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]'#A2142F'

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

示例: 'blue'

示例: [0 0 1]

示例: '#0000FF'

线型,指定为下表中列出的选项之一。

线型描述表示的线条
'-'实线

Sample of solid line

'--'虚线

Sample of dashed line

':'点线

Sample of dotted line

'-.'点划线

Sample of dash-dotted line, with alternating dashes and dots

'none'无线条无线条

线宽,指定为以磅为单位的正值,其中 1 磅 = 1/72 英寸。如果该线条具有标记,则线条宽度也会影响标记边。

线宽不能小于像素的宽度。如果将线宽设置为小于系统上像素宽度的值,则线条显示为一个像素的宽度。

标记符号,指定为下表中列出的值之一。默认情况下,对象不显示标记。指定标记符号可在每个数据点或顶点添加标记。

标记描述生成的标记
'o'圆圈

Sample of circle marker

'+'加号

Sample of plus sign marker

'*'星号

Sample of asterisk marker

'.'

Sample of point marker

'x'叉号

Sample of cross marker

'_'水平线条

Sample of horizontal line marker

'|'垂直线条

Sample of vertical line marker

's'方形

Sample of square marker

'd'菱形

Sample of diamond line marker

'^'上三角

Sample of upward-pointing triangle marker

'v'下三角

Sample of downward-pointing triangle marker

'>'右三角

Sample of right-pointing triangle marker

'<'左三角

Sample of left-pointing triangle marker

'p'五角形

Sample of pentagram marker

'h'六角形

Sample of hexagram marker

'none'无标记不适用

标记轮廓颜色,指定为 'auto'、RGB 三元组、十六进制颜色代码、颜色名称或短名称。默认值 'auto' 使用与 Color 属性相同的颜色。

对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。

  • RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1] 范围内,例如 [0.4 0.6 0.7]

  • 十六进制颜色代码是字符向量或字符串标量,以井号 (#) 开头,后跟三个或六个十六进制数字,范围可以是 0F。这些值不区分大小写。因此,颜色代码 '#FF8800''#ff8800''#F80''#f80' 是等效的。

此外,还可以按名称指定一些常见的颜色。下表列出了命名颜色选项、等效 RGB 三元组和十六进制颜色代码。

颜色名称短名称RGB 三元组十六进制颜色代码外观
'red''r'[1 0 0]'#FF0000'

Sample of the color red

'green''g'[0 1 0]'#00FF00'

Sample of the color green

'blue''b'[0 0 1]'#0000FF'

Sample of the color blue

'cyan' 'c'[0 1 1]'#00FFFF'

Sample of the color cyan

'magenta''m'[1 0 1]'#FF00FF'

Sample of the color magenta

'yellow''y'[1 1 0]'#FFFF00'

Sample of the color yellow

'black''k'[0 0 0]'#000000'

Sample of the color black

'white''w'[1 1 1]'#FFFFFF'

Sample of the color white

'none'不适用不适用不适用无颜色

以下是 MATLAB 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。

RGB 三元组十六进制颜色代码外观
[0 0.4470 0.7410]'#0072BD'

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]'#D95319'

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]'#EDB120'

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]'#7E2F8E'

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]'#77AC30'

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]'#4DBEEE'

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]'#A2142F'

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

标记填充颜色,指定为 'auto'、RGB 三元组、十六进制颜色代码、颜色名称或短名称。'auto' 值使用与 MarkerEdgeColor 属性相同的颜色。

对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。

  • RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1] 范围内,例如 [0.4 0.6 0.7]

  • 十六进制颜色代码是字符向量或字符串标量,以井号 (#) 开头,后跟三个或六个十六进制数字,范围可以是 0F。这些值不区分大小写。因此,颜色代码 '#FF8800''#ff8800''#F80''#f80' 是等效的。

此外,还可以按名称指定一些常见的颜色。下表列出了命名颜色选项、等效 RGB 三元组和十六进制颜色代码。

颜色名称短名称RGB 三元组十六进制颜色代码外观
'red''r'[1 0 0]'#FF0000'

Sample of the color red

'green''g'[0 1 0]'#00FF00'

Sample of the color green

'blue''b'[0 0 1]'#0000FF'

Sample of the color blue

'cyan' 'c'[0 1 1]'#00FFFF'

Sample of the color cyan

'magenta''m'[1 0 1]'#FF00FF'

Sample of the color magenta

'yellow''y'[1 1 0]'#FFFF00'

Sample of the color yellow

'black''k'[0 0 0]'#000000'

Sample of the color black

'white''w'[1 1 1]'#FFFFFF'

Sample of the color white

'none'不适用不适用不适用无颜色

以下是 MATLAB 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。

RGB 三元组十六进制颜色代码外观
[0 0.4470 0.7410]'#0072BD'

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]'#D95319'

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]'#EDB120'

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]'#7E2F8E'

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]'#77AC30'

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]'#4DBEEE'

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]'#A2142F'

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

示例: [0.3 0.2 0.1]

示例: 'green'

示例: '#D2F9A7'

标记大小,指定为以磅为单位的正值,其中 1 磅 = 1/72 英寸。

输出参数

全部折叠

一个或多个 FunctionLineParameterizedFunctionLine 对象,以标量或向量形式返回。

  • 如果使用 fplot(f) 语法或此语法的变体,fplot 将返回 FunctionLine 对象。

  • 如果使用 fplot(funx,funy) 语法或此语法的变体,fplot 将返回 ParameterizedFunctionLine 对象。

您可以使用这些对象来查询和修改特定线条的属性。有关属性列表,请参阅 FunctionLine 属性ParameterizedFunctionLine 属性

提示

  • 为了获得最佳性能和避免产生警告消息,请使用按元素运算符。例如,使用 x.*y 而不是 x*y。有关详细信息,请参阅数组与矩阵运算

  • 放大图表时,fplot 将重新绘制数据,这样可以显示隐藏的详细信息。

扩展功能

版本历史记录

在 R2006a 之前推出