matlab用ezplot()和fplot()画同一个函数为什么图形不一样啊。

比如ezplot(‘sin(x)/x',[-100,100])和fplot(‘sin(x)/x',[-100,100])怎么图形不一样啊,他俩不是都能画显函数么。fplo... 比如
ezplot(‘sin(x)/x',[-100,100])和
fplot(‘sin(x)/x',[-100,100])怎么图形不一样啊,他俩不是都能画显函数么。
fplot()

ezplot()
展开
 我来答
雨扬振1238
2013-07-16 · TA获得超过2782个赞
知道小有建树答主
回答量:586
采纳率:100%
帮助的人:981万
展开全部
ezplot是一种比较粗略的画函数图像的命令。图中出现的两部分间断,主要是因为在这部分的函数的导数较大。更深层次的原因在于,在ezplot的源程序中,人为设定了一段程序,将给定的函数的导数过大(是否过大是由所给函数决定)的点都设为NaN(not a number),目的是除去不可去间断点。但有时会事与愿违,对于有些函数,即使它本身是连续的,但由于局部的导数过大,导致ezplot给出了不真实的图像。另外,由于ezplot的初衷是对不太特殊的函数进行大致的描绘,所以它本身缺少对许多特殊函数的较精确的控制,从而导致部分图像缺失或选的点数过少。这也是为什么很多人不喜欢用ezplot的原因。
所以对于画y=f(x)这样的函数,fplot很不错,但是不可以控制选点间距和点数。如果想人为地控制选点间距和点数,那么就用plot。但plot的缺点是需要你对所画的函数有一定的认识,因为你的选点会影响图像的质量。选过多的点会造成内存的浪费和处理的难度,而过少的点有可能无法揭示一些关键的变化。
k打酱油k
推荐于2018-04-04 · TA获得超过1396个赞
知道小有建树答主
回答量:266
采纳率:66%
帮助的人:331万
展开全部

楼上说了这么多,好像都没回答楼主的问题......

这两个图本来应该一样,但是具体画图的时候,由于我们给出的条件非常简略,所以函数必须要先自己取XData,然后再算相应的YData,不同的函数划分的格点不同,结果就可能有差异了。

对ezplot生成的x,y数值进行记录,发现y(210)和y(224)都是NaN。这应该是ezplot函数的一点小缺陷,具体我没仔细看,你可以自己看一下函数。

附件是ezplot生成的x和y数据

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zby962565015
2013-07-15
知道答主
回答量:4
采纳率:0%
帮助的人:2.9万
展开全部
函数plot 是绘制二维图形的最基本函数,它是针对向量或矩阵的列来绘制曲线的。也就是说,使用plot 函数之前,必须首先定义好曲线上每一点的x 及y 坐标,常用格式为:

(1)plot(x) 当x 为一向量时,以x 元素的值为纵坐标,x 的序号为横坐标值绘制曲线。当x 为一实矩阵时,则以其序号为横坐标,按列绘制每列元素值相对于其序号的曲线,当x 为m× n 矩阵时,就有n 条曲线。
(2)plot(x,y) 以x 元素为横坐标值,y 元素为纵坐标值绘制曲线。
(3)plot(x,y1,x,y2,…) 以公共的x 元素为横坐标值,以y1,y2,… 元素为纵坐标值绘制多条曲线。

函数fplot 用来绘制数学函数,其调用格式为: fplot(fun,lims)其中fun 就是所要绘制的函数,可以是定义函数的M 文件名,也可以是以x 为变量的可计算字符串,lims=[XMIN XMAX YMIN YMAX]限定了x,y 轴上的绘图空间。

函数ezplot它无需数据准备,直接画出函数图形,基本调用格式为ezplot(f),其中f 是字符串或代表数学函数的符号表达式,只有一个符号变量

区别:
plot是绘制二维图形,并且是x,y的表达式是已知的或者是形如y=f(x)这样确切的表达式
而ezplot是画出隐函数图形,是形如f(x,y)=0这种不能写出像y=f(x)这种函数的图形
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式