假设我有以下代码:
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
,我也会得到相同的照片。当eps
接近h
时,0
与限制定义的含义是否相同?它是否衡量sin
函数的实际近似值?
答案 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
中的解决方案有限制。即。 eps
是MATLAB
中可以表示的最小数字。在您的问题中,即使x
为零,也可以避免除零。