计算机精度导致各种误差,大数吃小数

如果 p ∗ p^* p∗是p的近似, ∣ p ∗ − p ∣ |p^*-p| ∣p∗−p∣是绝对误差, ∣ p ∗ − p ∣ / ∣ p ∣ |p^*-p|/|p| ∣p∗−p∣/∣p∣是相对误差

舍入误差,就是数据表示精度不足带来的误差

a=0.1234564≈0.123456=fl(a)

b=0.1234546≈0.123455=fl(b)

在上面发生了舍入误差

fl(a)-fl(b)=0.000001

a-b=0.0000018

所以在计算a-b时绝对误差是0.0000008

但是想对误差是0.44

从绝对误差的角度看,差异很小,但是从相对误差的角度来看误差就非常大了

大数吃小数:

如果精度有限可能会发生下面的情况
100000000 + 0.5 = 100000000 100000000+0.5=100000000 100000000+0.5=100000000
100000000 + 0.5 − 100000000 = 0 100000000+0.5-100000000=0 100000000+0.5−100000000=0
( 100000000 + 0.5 − 100000000 ) ∗ 100000000 = 0 (100000000+0.5-100000000)*100000000=0 (100000000+0.5−100000000)∗100000000=0

这和真实结果差了很多,因为精度不够,大数加小数的时候把小数吃掉了,导致后续结果都出现问题,一个办法是交换顺序
100000000 − 100000000 = 0 100000000-100000000=0 100000000−100000000=0
100000000 − 100000000 + 0.5 = 0.5 100000000-100000000+0.5=0.5 100000000−100000000+0.5=0.5
( 100000000 − 100000000 + 0.5 ) − 100000000 = 50000000 (100000000-100000000+0.5)-100000000=50000000 (100000000−100000000+0.5)−100000000=50000000

相关推荐
majorArcs1 小时前
数学建模第一课:从鸡兔同笼问题谈数学建模的基本流程
数学建模
数模竞赛Paid answer2 小时前
2025年中青杯数学建模A题康养城市建设求解全过程论文及程序
算法·数学建模·数据分析·中青杯
数模竞赛Paid answer4 天前
2026年中青杯数学建模C题情绪维度耦合约束的脑电信号情绪识别求解全过程论文及程序
数学建模·数据分析·中青杯
民乐团扒谱机5 天前
【微实验】组合优化matlab实战(马科维茨投资模型):在收益与风险之间,寻找最优的人生配比
大数据·人工智能·算法·机器学习·数学建模·matlab·组合优化
数模竞赛Paid answer5 天前
2026年中青杯数学建模A题数学建模论文智能评估系统与多智能体优化方法求解全过程论文及程序
算法·数学建模·中青杯
数模竞赛Paid answer6 天前
2026年电工杯数学建模B题嵌入式社区养老服务站的建设与优化问题求解全过程论文及程序
数学建模·数据分析·电工杯
2601_953988077 天前
Ricon组态系统vs传统组态软件:为什么选择新一代Web组态平台
前端·后端·物联网·tcp/ip·数学建模·前端框架
数模竞赛Paid answer8 天前
2026年华东杯数学建模C题收益率预测问题解题全过程文档及程序
算法·数学建模·数据分析·华东杯
数模竞赛Paid answer9 天前
2026年电工杯数学建模A题绿电直连型电氢氨园区优化运行求解全过程论文及程序
算法·数学建模·电工杯
AI Dog9 天前
MathHub:数学建模学习社区,内置数学建模智能体Modulus
学习·数学建模·智能体·modulus·数学建模智能体