自学内容网 自学内容网

计算机的错误计算(一百二十)

摘要  探讨在许多应用中出现的函数 \frac{(e^x-1)}{x} 的计算精度问题。

例1.  考虑在许多应用中出现的函数 f(x)=\frac{e^x-1}{x}\,^{[1]}\,.  计算 f(0.9\textup{e}-13)\,.

       不妨在Python下计算:

若用下列Rust代码在线计算:

fn f(x: f64) -> f64 {
    (x.exp() - 1.0) / x
}

fn main() {
    let result = f(0.9e-13);
    println!("{}", result);
}

则输出完全相同,亦为 0.9992007221626409 .

        然而,事实上,16位的正确结果为 0.1000000000000045e1(ISRealsoft 提供)。二者的有效数字的错误率均为 (16-3)/16 = 81.25% .

参考文献

[1] Higham N J. Accuracy and Stability of Numerical Algorithms. 2nd ed. Philadelphia: SIAM, 2002. p.19


原文地址:https://blog.csdn.net/zaim1/article/details/142584021

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!