假设我有以下代码:
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
函数的实际近似值?
发布于 2013-05-22 19:53:02
我建议你阅读以下内容:
http://www.mathworks.co.uk/help/matlab/ref/eps.html
在您的例子中,eps
防止被零除。然而,我不认为在分子中它是必要的(还要注意./
而不是/
):
y = sin (x )./(x + eps );
发布于 2014-05-08 21:50:41
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
发布于 2013-05-22 19:55:43
由于MATLAB
分辨率的限制,1
和(1+eps)
之间没有重复的数字。即。eps
是可以用MATLAB
表示的最小数字。在您的问题中,即使x
为零,它也可以避免被零除。
https://stackoverflow.com/questions/16690959
复制相似问题