matlab中区分fplot和plot,以及作图时sin(1./x)需要点除而不是除

fplot命令也是MATLAB提供的一个画图命令,它是一个专门用于画一元函数图像的命令。

它的基本用法如下
在这里插入图片描述

plot命令也可以画一元函数图像,为什么还要引入fplot 命令呢?

关于plot命令的描述请看我的上一篇文章https://blog.csdn.net/qq_45721778/article/details/107449589

这是因为plot命令是依据我们给定的数据点来作图的,而在实际情况中,一般并 不清楚函数的具体情况,因此依据我们所选取的数据点作的图像可能会忽略真实函数的某些重要特性,给科研工作造成不可估计的损失。MATLAB提供了专门绘制一元函数图像的fplot 命令,它用来指导数据点的选取,通过其内部自适应算法,在函数变化比较平稳处,它所取的数据点就会相对稀疏一点,在函数变化明显处所取的数据点就会自动密一些,因此用fplot 命令所作出的图像要比用plot命令作出的图像光滑准确。

下面我们看一个例子

分别用fplot命令与plot命令作出函数y=sin(1/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])

做出来的图形为
在这里插入图片描述

从图中我们可以看出,在曲线平缓处,两个曲线相似,但是在函数变化明显处,使用fplot作图就比plot作图要精确的多

第二个问题,为什么要使用点除而不是除

如果使用除,就会发生如下情况
在这里插入图片描述
这是因为linspace命令的具体使用格式为linspace(a,b,n), 作用是将已知区间[a,b]作n等分,返回值为各节点的坐标。

在这里插入图片描述

除是对一个矩阵整体的运算,点除是对矩阵中每一个元素的运算

sin(1/x)是对区间中的每一个x都做了运算,所以要进行点除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值