Matlab:eps的意思

时间:2013-05-22 11:49:13

标签: matlab

假设我有以下代码:

 T  =  0.1;
 t  =   − 0.5: 0.001: 0.5;
 x  =   pi*t/T; 
 y  =   sin (x  +   eps )/(x  +   eps );
 plot  (t, y);   

我的问题是:eps的目的是什么?

我有以下图表:

enter image description here

即使没有eps,我也会得到相同的照片。当eps接近h时,0与限制定义的含义是否相同?它是否衡量sin函数的实际近似值?

3 个答案:

答案 0 :(得分:4)

我建议你阅读以下内容:

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

在您的情况下,eps可以防止除以零。但是,我不认为分子中有必要(还要注意./而不是/):

y  =   sin (x )./(x  +   eps );

答案 1 :(得分:4)

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

>> 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的差异:

>> eps
ans =
2.220446049250313e-016

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

答案 2 :(得分:1)

1(1+eps)之间没有双重号码,原因是MATLAB中的解决方案有限制。即。 epsMATLAB中可以表示的最小数字。在您的问题中,即使x为零,也可以避免除零。