内容参考:Plot expression or function - MATLAB fplot- MathWorks China
MATLAB常用绘图函数除了plot外,fplot也是另一个重要的常用绘图函数。下面详细介绍其使用方法,有许多与plot类似的地方,读者学习fplot使用同时可以对plot使用方法温故而知新。注意:MATLAB2021不推荐另一函数绘图函数ezplot,改用 fplot。
目录
语法
fplot(f)
fplot(f,xinterval)
fplot(funx,funy)
fplot(funx,funy,tinterval)
fplot(___,LineSpec)
fplot(___,Name,Value)
fplot(ax,___)
fp = fplot(___)
[x,y] = fplot(___)
说明
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(___) 返回函数的纵坐标和横坐标,而不创建绘图。在以后的版本中将会删除该语法。请改用线条对象 fp 的 XData 和 YData 属性。
注意:fplot 不再支持用于指定误差容限或计算点数量的输入参数。
示例
1.在 x 的默认区间 [-5 5] 绘制 sin(x)。
fplot(@(x) sin(x))
2.指定绘图区间并绘制分段函数
使用 hold on 绘制多个线条。使用 fplot 的第二个输入参数指定绘图区间。使用 'b' 将绘制的线条颜色指定为蓝色。在相同坐标区中绘制多个线条时,坐标轴范围会调整以容纳所有数据。
fplot(@(x) exp(x),[-3 0],'b')
hold on
fplot(@(x) cos(x),[0 3],'b')
hold off
grid on
3.绘制参数曲线
绘制参数化曲线 x=cos(3t) 和 y=sin(2t)。
xt = @(t) cos(3*t);
yt = @(t) sin(2*t);
fplot(xt,yt)
4.指定线条属性并显示标记
绘制具有不同相位的三个正弦波。对于第一个,使用 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
5.创建后修改线条属性
绘制 sin(x) 并将函数行对象指定给变量。
fp = fplot(@(x) sin(x))
fp =
FunctionLine - 属性: Function: @(x)sin(x) Color: [0 0.4470 0.7410] LineStyle: '-' LineWidth: 0.5000 显示 所有属性
通过使用圆点表示法设置属性,将线条更改为红色点线。添加交叉标记,并将标记颜色设置为蓝色。
fp.LineStyle = ':';
fp.Color = 'r';
fp.Marker = 'x';
fp.MarkerEdgeColor = 'b';
6.在相同坐标区中绘制多个线条
使用 hold on 绘制两个线条。
fplot(@(x) sin(x))
hold on
fplot(@(x) cos(x))
hold off
7.添加标题和轴标签以及格式化刻度
使用函数句柄从 −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');
使用 gca 访问当前坐标区对象。沿 x 轴以 π/2 为间隔显示刻度线。通过设置坐标区对象的 XTick 和 XTickLabel 属性,格式化 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'};
输入参数
f - 要绘制的函数
函数句柄,要绘制的函数,指定为命名或匿名函数的函数句柄。
指定 y = f(x) 形式的函数。该函数必须接受向量输入参数,并返回大小相同的向量输出参数。为获得最佳性能,应使用数组运算符而不是矩阵运算符。例如,使用 .* (times) 而不是 * (mtimes)。
注意:将来的版本将不再支持字符向量输入。请改用函数句柄。
示例: f = @(x) sin(x);
提示:为了获得最佳性能和避免产生警告消息,请使用按元素运算符。例如,使用 x.*y 而不是 x*y。
xinterval - x 的区间
[–5 5] (默认) | [xmin xmax] 形式的二元素向量
x 的区间,指定为 [xmin xmax] 形式的二元素向量。
funx - x 坐标的参数化函数
x 坐标的参数化函数,指定为命名或匿名函数的函数句柄。
指定 x = funx(t) 形式的函数。该函数必须接受向量输入参数,并返回大小相同的向量输出参数。为获得最佳性能,应使用数组运算符而不是矩阵运算符。例如,使用 .* (times) 而不是 * (mtimes)。
示例: funx = @(t) sin(2*t);
funy - y 坐标的参数化函数
y 坐标的参数化函数,指定为命名或匿名函数的函数句柄。
指定 y = funy(t) 形式的函数。该函数必须接受向量输入参数,并返回大小相同的向量输出参数。为获得最佳性能,应使用数组运算符而不是矩阵运算符。例如,使用 .* (times) 而不是 * (mtimes)。
示例: funy = @(t) cos(3*t);
tinterval - t 的区间
[-5 5] (默认) | [tmin tmax] 形式的二元素向量
t 的区间,指定为 [tmin tmax] 形式的二元素向量。
ax - 坐标区对象
坐标区对象。如果您不指定坐标区对象,则 fplot 使用当前坐标区 (gca)。
LineSpec - 线型、标记和颜色
字符向量 | 字符串
线型、标记和颜色,指定为包含符号的字符向量或字符串。符号可以按任意顺序显示。您不需要同时指定所有三个特征(线型、标记和颜色)。例如,如果忽略线型,只指定标记,则绘图只显示标记,不显示线条。
示例: '--or' 是带有圆形标记的红色虚线
名称-值对组参数
指定可选的、以逗号分隔的 Name,Value 对组参数。Name 为参数名称,Value 为对应的值。Name 必须放在引号中。您可采用任意顺序指定多个名称-值对组参数,如 Name1,Value1,...,NameN,ValueN 所示。
示例: 'Marker','o','MarkerFaceColor','red'
'Color' - 线条颜色
[0 0.4470 0.7410] (默认) | RGB 三元组 | 十六进制颜色代码 | 'r' | 'g' | 'b' | ...
线条颜色,指定为 RGB 三元组、十六进制颜色代码、颜色名称或短名称。
对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。
RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1] 范围内,例如 [0.4 0.6 0.7]。
十六进制颜色代码是字符向量或字符串标量,以井号 (#) 开头,后跟三个或六个十六进制数字,范围可以是 0 到 F。这些值不区分大小写。因此,颜色代码 '#FF8800' 与 '#ff8800'、'#F80' 与 '#f80' 是等效的。
此外,还可以按名称指定一些常见的颜色。下表列出了命名颜色选项、等效 RGB 三元组和十六进制颜色代码。
以下是 MATLAB® 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。
示例: 'blue'
示例: [0 0 1]
示例: '#0000FF'
'LineStyle' - 线型
'-' (默认) | '--' | ':' | '-.' | 'none'
线型,指定为下表中列出的选项之一。
'LineWidth' - 线条宽度
0.5 (默认) | 正值
线宽,指定为以磅为单位的正值,其中 1 磅 = 1/72 英寸。如果该线条具有标记,则线条宽度也会影响标记边。
'Marker' - 标记符号
'none' (默认) | 'o' | '+' | '*' | '.' | ...
标记符号,指定为下表中列出的值之一。默认情况下,对象不显示标记。指定标记符号可在每个数据点或顶点添加标记。