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

相关推荐
cyforkk12 分钟前
12、Java 基础硬核复习:集合框架(数据容器)的核心逻辑与面试考点
java·开发语言·面试
我材不敲代码4 小时前
Python实现打包贪吃蛇游戏
开发语言·python·游戏
身如柳絮随风扬5 小时前
Java中的CAS机制详解
java·开发语言
韩立学长6 小时前
【开题答辩实录分享】以《基于Python的大学超市仓储信息管理系统的设计与实现》为例进行选题答辩实录分享
开发语言·python
froginwe117 小时前
Scala 循环
开发语言
m0_706653237 小时前
C++编译期数组操作
开发语言·c++·算法
故事和你917 小时前
sdut-Java面向对象-06 继承和多态、抽象类和接口(函数题:10-18题)
java·开发语言·算法·面向对象·基础语法·继承和多态·抽象类和接口
嵩山小老虎7 小时前
Windows 10/11 安装 WSL2 并配置 VSCode 开发环境(C 语言 / Linux API 适用)
linux·windows·vscode
Bruk.Liu7 小时前
(LangChain实战2):LangChain消息(message)的使用
开发语言·langchain
qq_423233908 小时前
C++与Python混合编程实战
开发语言·c++·算法