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

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

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

下面探讨第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位正确数字。

相关推荐
benben044几秒前
大模型之基于PEFT的SFT微调实战篇
开发语言·python
Zane19949 分钟前
Lock 接口与 AQS 核心原理:手写理解一把可重入锁是怎么运作的
java·后端
Full Stack Developme9 分钟前
SpringBoot 整合 Druid 并列出参数清单
java·spring boot·后端
caishenzhibiao9 分钟前
顺势交易矩阵主图 同花顺期货通指标
java·c语言·c#
Lhan.zzZ13 分钟前
深入理解 windeployqt:混合 C++/Qt 项目的打包指南
开发语言·c++·qt
淼澄研学20 分钟前
PyTorch深度学习实战:5个核心方法从0到1构建神经网络
前端·数据库·python
我命由我1234526 分钟前
Android 开发 - 广播组件(标准广播、有序广播、静态注册广播、分钟到达广播、网络变更广播...)
android·java·开发语言·网络·java-ee·android studio·android-studio
周航宇JoeZhou30 分钟前
JP3-2-1-MyItem项目简介
java·ai·springboot·环境搭建·项目·管理·springai
SunnyDays101131 分钟前
Python 将 Excel(XLS/XLSX)转换为 JSON:导出工作簿、工作表、单元格区域与自定义 JSON 结构
python·json·excel·excel 转 json·导出 excel 到 json·xlsx 转 json·xls 转 json
lemon_sjdk36 分钟前
从 ServletRequest 到 Spring 抽象:Web 请求的底层基石与演化
java·前端·spring