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

如果 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

相关推荐
王然-HUDDM1 天前
HUDDM(全息普适需求动力学模型)详解
数学建模·架构·系统架构·agi·预编码算法
lisw052 天前
计算神经科学:概念、历史、内容与发展战略!
人工智能·科技·数学建模
Deepoch2 天前
Deepoc数学大模型:通信行业智能化的算法引擎
人工智能·算法·数学建模·开发板·通信·具身模型·deepoc
wheeldown3 天前
【数学建模】用代码搞定无人机烟幕:怎么挡导弹最久?
数学建模·无人机
民乐团扒谱机5 天前
【微实验】数模美赛备赛:多目标优化求解实战(MATLAB实现,以流水车间调度为例)
开发语言·数学建模·matlab·甘特图·遗传算法·多目标优化·优化模型
88号技师5 天前
2026年1月一区SCI-最优或最劣优化器Farthest better or nearest worse optimizer-附Matlab免费代码
开发语言·数学建模·matlab·启发式算法·优化算法
88号技师5 天前
2025年11月一区SCI-电磁波传播优化算法Electromagnetic wave propagation algorithm-附Matlab免费代码
开发语言·算法·数学建模·matlab·优化算法
3Bronze1Pyramid6 天前
【微分方程——传染病模型(一)】
数学建模
qianbo_insist9 天前
基于APAP算法的图像和视频拼接
算法·数学建模·图像拼接
万行10 天前
机器学习&第三章
人工智能·python·机器学习·数学建模·概率论