中易网

eps在MATLAB中是什么意思

答案:6  悬赏:10  
解决时间 2021-01-17 04:35
  • 提问者网友:王者佥
  • 2021-01-17 00:16
eps在MATLAB中是什么意思
最佳答案
  • 二级知识专家网友:末日狂欢
  • 2021-01-17 01:38
eps是matlab中最小的正数。eps=2.22044604925031e-016
在matlab的数值计算中,当发现某个值小于eps时,就把这个数当做0来处理。

这也可以看做是matlab的精度值。

祝你学习愉快!
全部回答
  • 1楼网友:雾月
  • 2021-01-17 06:37
eps为系统运算时计算机允许取到的最小值。例如对于函数y=cosx/x.由于在编程时分母可能出现为0,所以编程时要写成:y=cosx/(x+eps).
  • 2楼网友:春色三分
  • 2021-01-17 05:45
eps在Matlab中是机器零。代表绝对值最小的浮点数
  • 3楼网友:琴狂剑也妄
  • 2021-01-17 05:09
eps应该不是matlab中的最小值,只是小于其的话会被认为是0值,最小正实数可以用realmin函数得到,matlab7中realmin比eps小将近300个数量级。
  • 4楼网友:低血压的长颈鹿
  • 2021-01-17 03:36
esp是MATLAB内部定义的一个很小的数,差不多就是机器零。
在MATLAB中可以重新定义esp,比如esp=1e-10;
  • 5楼网友:荒野風
  • 2021-01-17 02:54
eps(a)是|a|与大于|a|的最小的浮点数之间的距离,距离越小表示精度越高。默认a=1。
我们知道浮点数其实是离散的,有限的,而且间隔是不均匀的。我们可以说一个数旁边的数是什么,而它们之间的距离就反应了其精度。越靠近0,数和数之间就越密集,精度就越高。
_______________________
楼上的说法是错误的,eps不是matlab所能表示的最小的正数。楼主可以试试eps和eps/2,如果eps真的是最小的正数,那么eps/2就应该四舍五入到0或eps,但实际上却能精确表示出来。正确的说法是eps=eps(1),是1的精度。也就是说matlab无法表示介于1和1+eps之间的数,这些数将被四舍五入到1或1+eps。比如1+0.3*eps被舍入到1,而1+0.7*eps被舍入到1+eps。楼主可以用下面的语句进行验证:
1+0.3*eps==1%true
1+0.7*eps==1%false
1+0.7*eps==1+eps%true
正如前面所说,对浮点数而言,越靠近0,精度就越高。因此2的精度就比1的精度要低。事实上,matlab无法区分介于2和2+2*eps之间的数。也就是说eps(2)=2*eps,下面是验证:
2+eps==2%true,说明matlab无法区分2和2+eps
1+eps==1%false,说明matlab可以区分1和1+eps,因此1的精度比2高
0的精度是最高的,也就是说eps(0)才是matlab所能表示的最小的正数。它和eps相比相差了300多个数量级,eps和它相比大的简直是个天文数字。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息