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

相关推荐
byte轻骑兵43 分钟前
【C++重载操作符与转换】转换与继承
开发语言·c++
猎人everest1 小时前
SPN技术介绍
网络·信息与通信
炬火初现1 小时前
Qt 的原理及使用(1)——qt的背景及安装
开发语言·qt
gaoenyang7605251 小时前
QT Creator配置Kit
开发语言·qt
浪裡遊2 小时前
Typescript中的对象类型
开发语言·前端·javascript·vue.js·typescript·ecmascript
杨-羊羊羊2 小时前
什么是深拷贝什么是浅拷贝,两者区别
开发语言·前端·javascript
Cuit小唐2 小时前
C++ 组合模式详解
开发语言·c++·组合模式
正在走向自律2 小时前
Python 自动化脚本开发秘籍:从入门到实战进阶(6/10)
开发语言·python
代码AC不AC2 小时前
【C++】模板初阶
开发语言·c++·学习分享·技术交流·模板初阶
阿沁QWQ2 小时前
C语言中的文本读写和二进制读写接口
开发语言·c++·算法