Matlab:二维绘图篇——plot绘图命令(二)

目录

1.fplot命令

实例------绘制函数曲线

2.ezplot绘图命令

实例------绘制隐函数图形

3.两个命令的区别


1.fplot命令

fplot命令也是Matlab提供的一个画图命令,用于一个专门画一元函数图像的命令。有人会有些奇怪,不是有plot命令了么?那为什么还需要这个呢?简单来说,就是这个命令它所取的数据点相对稀疏一点,在函数变化明显处所取的数据点就会自动密一点,因此用fplot命令所作出的图像要比用plot命令做出的图像光滑准确。

|----------------------------------------|--------------------------------------------------|
| 调用格式 | 说明 |
| fplot(f,lim) | 在指定的lim范围内画出一元函数f的图形 |
| fplot(f,lim,s) | 在指定的线型范围画出一元函数f的图形 |
| fplot(f,lim,e) | 用相对误差值为e画出一元函数f的图形 |
| fplot(f,lim,s,e) | 用相对误差值为e和指定的线型s画出一元函数的图形 |
| fplot(f,lim,n) | 画出一元函数的图形时,至少描出n+1个点 |
| fplot(f,lim,...) | 允许可选参数e,n和s以任意组合方式输入 |
| [X,Y]=fplot(f,lim,...) | 返回横坐标与纵坐标的值给变量X和Y |
| [...]=fplot(f,lim,s,e,n,s,P1,P2,...) | 允许用户直接给函数f输入参数P1,P2等,其中函数f的定义形式为y=f(x,P1,P2,...) |
[fplot命令的调用格式]

实例------绘制函数曲线

分别用fplot命令和plot命令做出函数y=sin1/x,x∈[0.01,0.02]的图像。

复制代码
>> x=linspace(0.01,0.02,50);
y=sin(1./x);
subplot(2,1,1),plot(x,y)
subplot(2,1,2),fplot(@(x)sin(1./x),[0.01,0.02])

这段MATLAB代码的核心目的是在同一窗口绘制函数y=sin1/x,x∈[0.01,0.02] 的图像,采用两种绘图方式并上下排列展示。**首先,**利用linspace函数生成该区间内50个等间距的点作为x 值,接着计算对应的 y 值。

其次 ,使用subplot函数将窗口分为2行1列的子图布局。在第一个子图中,调用plot函数,将离散的点连接起来绘制图像。而在第二个子图里,借助fplot函数,通过传入匿名函数@(x) sin(1./x)直接绘制该函数在指定区间的图像。由于函数在x趋近于0时振荡剧烈,fplot会自动调整采样点密度,相比plot绘制的图像通常更精确,而且可以按需调整绘图参数。

2.ezplot绘图命令

对于符号函数,matlab也提供了一个专门的绘图命令------ezplot命令。这个命令可以很容易地将一个符号函数图形化。

|---------------------------|---------------------------------------------------|
| 调用格式 | 说明 |
| ezplot(f) | 绘制函数f(x)在默认区间x∈(-2Π,2Π)上的图像 |
| ezplot(f,[a,b]) | 绘制函数f(x)在默认区间x∈(a,b)上的图像 |
| ezplot(f,[xa,xb,ya,yb]) | 对于隐函数f=(x,y),在区域x€(xa,xb),y€(ya,yb)上绘制f(x,y)=0的图像 |
| ezplot(x,y) | 在默认区间x∈(0,2Π)上绘制参数曲线x=x(t),y=y(t)的图像 |
| ezplot(x,y,[a,b]) | 在区间x∈(a,b)上绘制参数曲线x=x(t),y=y(t)的图像 |
| ezplot(...,figure]) | 在指定的图形窗口中绘制函数图像 |
[ezplot命令地调用格式]

实例------绘制隐函数图形

复制代码
>> syms x %定义了一个符号变量x,后续可以使用它来定义符号表达式
f1=exp(2*x)*sin(2*x);
subplot(2,2,1),ezplot(exp(2*x),[-pi,pi])
subplot(2,2,2),ezplot(sin(2*x))
subplot(2,2,3),ezplot(exp(2*x)+sin(2*x),[-pi,pi,0,2*pi])
subplot(2,2,4),ezplot(f1,[-4*pi,4*pi])

3.两个命令的区别

在 MATLAB 中,通过两个命令,我们知道fplotezplot都用于绘制函数图像,但存在明显区别。从可用性看ezplot是早期用于绘制符号函数图像的工具,在新版本中已被建议用fplot替代,未来可能移除;而++fplot是推荐使用的函数,会持续更新优化。++

输入参数方面,ezplot依赖符号变量构建表达式绘图,fplot则更灵活,既支持符号表达式,也能处理匿名函数。绘图能力上ezplot自动确定范围,处理复杂函数时可能无法精准展示特征,且不适合多函数或自定义样式;++fplot能精确控制范围,自动调整采样点密度,支持多函数绘制与样式设置。++

性能上ezplot基于符号计算,处理复杂函数耗时耗资源;++fplot采用数值计算,绘图速度更快,优势明显。++

相关推荐
励志要当大牛的小白菜3 分钟前
ART配对软件使用
开发语言·c++·qt·算法
Dream Algorithm3 分钟前
CT、IT、ICT 和 DICT区别
经验分享·信息与通信
mCell34 分钟前
从删库到跑路?这50个Linux命令能保你职业生涯
linux·windows·macos
dualven_in_csdn1 小时前
electron 使用记录
windows
爱装代码的小瓶子2 小时前
数据结构之队列(C语言)
c语言·开发语言·数据结构
zz9602263 小时前
Windows Server存储池,虚拟磁盘在系统启动后不自动连接需要手动连接
windows
Maybe_ch4 小时前
.NET-键控服务依赖注入
开发语言·c#·.net
超浪的晨4 小时前
Java UDP 通信详解:从基础到实战,彻底掌握无连接网络编程
java·开发语言·后端·学习·个人开发
终焉暴龙王4 小时前
CTFHub web进阶 php Bypass disable_function通关攻略
开发语言·安全·web安全·php
Edingbrugh.南空5 小时前
Aerospike与Redis深度对比:从架构到性能的全方位解析
java·开发语言·spring