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

摘要 回复读者提问,就计算机的错误计算(六)中案例,讨论其另外一种形式: 的错误计算问题。

一读者来信说,在计算机的错误计算(六)中,使用了两种计算方法。实际上,还有另外一种更为简便的方法:

下面探讨第3种方法的计算精度。

例1. 已知 计算

不妨在 Python 中用 ** 运算与 math 库中 pow 函数计算,则有:

若在线运行Rust程序:

rust 复制代码
fn main() {
    let x = 0.99993;
    let result = power(x - 1.0, 4);

    println!("{}", result);
}

fn power(base: f64, exponent: u32) -> f64 {
    base.powi(exponent as i32)
}

则输出同样的结果(虽然形式不同):0.000000000000000024010000000019886 .

然而,准确值是 0.2401e-16(ISRealsoft 提供)。这样,它们有效数字的错误率均为 4/16 = 25% 或 5/17 = 29.4% .

点评:显然,与前两种方法相比,精度提高许多。但是,它还是有错误数字。特别是,若自变量换一个别的数,则可能增加错误数字。比如,令自变量为 0.9999999999999999(注:该数仍在定义域或程序的要求范围内),则 Python 的输出中只含有1位正确数字。

相关推荐
SL_staff11 小时前
BI大屏嵌入MES的登录态难题:JVS统一账号体系实战解法
java·数据分析·数据可视化
乌暮11 小时前
综合案例:宠物电商系统
java·开发语言·spring·mvc·restful·1024程序员节
VimorphTech11 小时前
一段字幕太长,怎样拆句并安排显示时间?
java·spring boot
万联WANFLOW11 小时前
Kimi K3.1 Pro 接口接入指南:模型选型、费用计算与零数据保留
java·spring boot·python·安全·spring·大模型
织码weavecodes12 小时前
新闻资讯模块设计:内容发布、阅读计数与附件鉴权
java·服务器·数据库
学到老活到老12 小时前
Spring 事务怎样生效?为什么加了 @Transactional 仍不回滚?
java·spring
学到老活到老12 小时前
Spring 怎样创建 Bean?@Autowired 在哪一步生效?
java·spring
用户1129361121912 小时前
我扫了项目里 739 个 Controller,发现最危险的越权漏洞不是没认证
java
小羊没烦恼!12 小时前
分布式事务 | 使用DTM 的Saga 模式
java·linux·运维·数据库·wpf
问心无愧051312 小时前
[护网杯 2018]easy_tornado
python·tornado