algorithm - 经典数值计算MATLAB代码

标签 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) 实际上在 x 接近 0 时发散。为什么 g(x)f(x)?

最佳答案

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

  1. 看看 De... 我的意思是真的看看它。注意 x 是如何得到的 越小,De 不再等于 x。

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

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

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

关于algorithm - 经典数值计算MATLAB代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12331440/

相关文章:

algorithm - 基于 Dijkstra 的缓存算法优化

objective-c - 从一组线中查找多边形

matlab - 在 Matlab 中查找行中的最小值并计算每列中最小值的总数

matlab - 如何在Matlab中枚举具有固定元素数量和元素之和的所有可能子集

algorithm - 反转符号不起作用

floating-point - 浮点加法与浮点乘法的相对速度是多少

r - 用R求解非平方线性系统

python - python中的舍入错误

c++ - 如何分隔 C++ 字符串中的数字和字母?

algorithm - 在二维 boolean 矩阵中找到最接近的 "true"元素?