首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Matlab: eps的意义

Matlab: eps的意义
EN

Stack Overflow用户
提问于 2013-05-22 19:49:13
回答 3查看 10.7K关注 0票数 3

假设我有以下代码:

代码语言:javascript
运行
复制
 T  =  0.1;
 t  =   − 0.5: 0.001: 0.5;
 x  =   pi*t/T; 
 y  =   sin (x  +   eps )/(x  +   eps );
 plot  (t, y);   

我的问题是:eps的用途是什么?

我得到了下面的图表:

即使没有eps,我也得到了同样的结果。当h接近0时,eps是否具有与限制定义相同的含义?它是否测量sin函数的实际近似值?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-05-22 19:53:02

我建议你阅读以下内容:

http://www.mathworks.co.uk/help/matlab/ref/eps.html

在您的例子中,eps防止被零除。然而,我不认为在分子中它是必要的(还要注意./而不是/):

代码语言:javascript
运行
复制
y  =   sin (x )./(x  +   eps );
票数 4
EN

Stack Overflow用户

发布于 2014-05-08 21:50:41

eps是Matlab可以识别的两个数字x和y之间的最小距离。例如

代码语言:javascript
运行
复制
>> format long e
>> x=1;y=x+eps;
>> y-x

ans =

2.220446049250313e-016

>> x=1;y=x+eps/2;
>> y-x

ans =
0

我们观察到y-x=0,Matlab无法识别小于eps的差异:

代码语言:javascript
运行
复制
>> eps
ans =
2.220446049250313e-016

参考: http://www.researchgate.net/post/What_does_eps_in_MATLAB_mean_What_is_the_value_of_it

票数 4
EN

Stack Overflow用户

发布于 2013-05-22 19:55:43

由于MATLAB分辨率的限制,1(1+eps)之间没有重复的数字。即。eps是可以用MATLAB表示的最小数字。在您的问题中,即使x为零,它也可以避免被零除。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16690959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档