经典数值计算MATLAB代码

时间:2012-09-08 14:06:22

标签: algorithm matlab numerical-computing

f(x) = (exp(x)-1)/x; 
g(x) = (exp(x)-1)/log(exp(x))

分析地说,f(x) = g(x)适用于所有x

当x接近0时,f(x)g(x)都接近1.

% Compute y against x
for k = 1:15
    x(k) = 10^(-k);
    f(k) =(exp(x(k))-1)/x(k); 
    De(k) = log(exp(x(k)));
    g(k)= (exp(x(k))-1)/De(k);
end
% Plot y
plot(1:15,f,'r',1:15,g,'b');

但是,g(x)的效果优于f(x)。当f(x)接近0时,x实际上会出现分歧。为什么g(x)优于f(x)

1 个答案:

答案 0 :(得分:3)

很难不给出答案,所以我只会指出一些提示

  1. 看看De ......我的意思是真的看看它。请注意x的获取方式 更小,De不再等于x。

  2. 现在看看exp(x) - 1.注意一个模式。

  3. 问问自己,什么是eps(1),为什么重要?

  4. 在Matlab中,exp(10 ^ -16)-1 = 0.为什么?