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

MATLAB fplot()函数的用法(非常详细)

在 MATLAB 中,fplot() 函数是一个专门用于画图像的函数,plot() 函数也可以画一元函数图像,两个函数的区别如下:

fplot() 函数的主要调用格式及说明如下表所示。

表:fplot() 函数调用格式及说明
调用格式 说明
fplot(f,lim) 在指定的范围 lim 内画出一元函数 f 的图形
fplot(f,lim,s) 用指定的线型 s 画出一元函数 f 的图形
fplot(f,lim,n) 画一元函数 f 的图形时,至少描出 n+1 个点
fplot(funx,funy) 在 t 的默认间隔 [-5, 5] 上绘制由 x=funx(t) 和 y=funy(t) 定义的曲线
fplot(funx,funy,tinterval) 在指定的时间间隔内绘制。将间隔指定为 [tmin, tmax] 形式的二元向量
fplot(...,LineSpec) 指定线条样式、标记符号和线条颜色。例如,'-r' 绘制一条红线。在前面语法中的任何输入参数组合之后使用此选项
fplot(...,Name,Value) 使用一个或多个名称-值对参数指定线条属性
fplot(ax,...) 绘制图形到由 ax 指定的坐标区中,而不是当前坐标区(GCA)。指定坐标区作为第一个输入参数
fp = fplot(...) 根据输入返回函数行对象或参数化函数行对象。使用 fp 可查询和修改线条属性
[X,Y] = fplot(f,lim,...) 返回横坐标与纵坐标的值给变量 X 和 Y

对于表中的各种用法有下面几点需要说明:
【实例 1】绘制函数 y=cos2(x), y=cos3(x), x∈[1,4] 的图像。
>> close all                         % 关闭当前已打开的文件
>> clear                                       % 清除工作区的变量
>> subplot(2,1,1),fplot(@(x)cos(x).^2,[1,4]);  % 在第1个图窗中绘制指定区间的函数曲线
>> subplot(2,1,2),fplot(@(x)cos(x).^3,[1,4]);  % 在第2个图窗中绘制指定区间的函数曲线
运行结果如下图所示:


图 1 函数图形

【实例 2】作出 y=sin(1/x) 函数,x∈[0.01,0.02] 的图像。MATLAB 程序如下:
>> close all                                         % 关闭当前已打开的文件
>> clear                                             % 清除工作区的变量
>> x=linspace(0.01,0.02,50);                         % 将x定义为介于0.01~0.02的50个线性间隔值
>> y=sin(1./x);                                      % 定义函数y
>> subplot(2,1,1),plot(x,y)                          % 在第1个视窗中以x为横坐标绘制y的图形
>> subplot(2,1,2),fplot(@(x)sin(1./x),[0.01,0.02])   % 在第2个视窗中绘制y的图形
运行结果如下图所示:


图 2 fplot()与plot()的比较

从上图中可以很明显地看出,fplot() 函数所作的图要比用 plot() 函数所作的图光滑精确。这主要是由于 plot() 函数分点取得太少,也就是说对区间的划分还不够细,读者往往会以为对长度为 0.01 的区间作 50 等分的划分已经够细了,事实上这远不能精确地描述原函数。

【实例 3】绘制隐函数 f(x)=e2x, f(x)=ex2, f(x)=ex2+2x,x∈(−π,π) 的图像。
>> close all                 % 关闭当前已打开的文件
>> clear                     % 清除工作区的变量
>> syms x                    % 定义符号变量x
>> f=exp(x^2+2*x);           % 定义以符号变量x为自变量的函数表达式f
% 将视图分为2行2列4个视窗,在视窗1中绘制函数曲线,将函数对象属性赋值给fp
>> subplot(2,2,1),fp=fplot(@(x) exp(2*x),[-pi,pi]);
>> fp.LineStyle = '-.';      % 设置曲线线型为点画线
>> subplot(2,2,2),fp=fplot(@(x) exp(x.^2),[-pi,pi]); % 在视窗2中绘制函数曲线,将函数对象属性赋值给fp
>> fp.Color = 'r';           % 设置曲线颜色为红色
>> subplot(2,2,3),fp=fplot(@(x) exp(x.^2+2*x),[-pi,pi]); % 在视窗3中绘制函数曲线,将函数对象属性赋值给fp
>> fp.Marker = 'x';          % 设置曲线标记类型为五角星
>> fp.MarkerEdgeColor = 'b'; % 设置曲线标记颜色为蓝色
>> subplot(2,2,4),fplot(f)   % 在视窗4中绘制函数曲线
运行结果如下图所示:


图 3 函数图形

相关文章