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采用数值计算,绘图速度更快,优势明显。++

相关推荐
JosieBook21 小时前
【开源】基于 C# 和 Halcon 机器视觉开发的车牌识别工具(附带源码)
开发语言·c#
龙潜月七21 小时前
做一个背单词的脚本
数据库·windows·c#·aigc·程序那些事
逑之1 天前
C语言笔记14:结构体、联合体、枚举
c语言·开发语言·笔记
崇山峻岭之间1 天前
Matlab学习记录30
开发语言·学习·matlab
stillaliveQEJ1 天前
【JavaEE】Spring IoC(二)
java·开发语言·spring
民乐团扒谱机1 天前
【微实验】MATLAB 仿真实战:多普勒效应 —— 洒水车音乐的音调变化仿真
开发语言·matlab·多普勒效应·多普勒频移
寻星探路1 天前
【Python 全栈测开之路】Python 基础语法精讲(一):常量、变量与运算符
java·开发语言·c++·python·http·ai·c#
ohoy1 天前
RedisTemplate 使用之List
数据结构·windows·list
朔北之忘 Clancy1 天前
2020 年 6 月青少年软编等考 C 语言一级真题解析
c语言·开发语言·c++·学习·算法·青少年编程·题解
csbysj20201 天前
组合实体模式
开发语言