You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python计算表达式的绝对误差与相对误差上界

计算表达式的绝对误差与相对误差上界

首先化简你的表达式,简化后更便于误差分析和计算:

a − πb / π² + b = a - b/π + b = a + b(1 - 1/π)

误差分析前提

误差计算需要明确每个输入近似值的绝对误差界:

  • 近似值a=1.21:假设绝对误差界Δa=0.005(即真实值a满足|a-1.21|≤0.005,对应最后一位小数的半单位)
  • 近似值b=1.9:绝对误差界Δb=0.05(真实值b满足|b-1.9|≤0.05)
  • 近似值π=3.14:真实π≈3.1415926535,因此绝对误差界Δπ=π-3.14≈0.00159265

误差传播公式

对于多元函数f(a,b,π),绝对误差上界等于各变量偏导数的绝对值乘以对应变量的绝对误差界之和:

Δf ≤ |∂f/∂a|Δa + |∂f/∂b|Δb + |∂f/∂π|Δπ

对化简后的f(a,b,π)=a + b(1 - 1/π)求偏导:

  • ∂f/∂a = 1
  • ∂f/∂b = 1 - 1/π
  • ∂f/∂π = b/(π²)

Python 实现代码

import math

# 输入近似值
a_star = 1.21
b_star = 1.9
pi_star = 3.14

# 各变量的绝对误差界
delta_a = 0.005
delta_b = 0.05
delta_pi = math.pi - pi_star  # 真实π与3.14的差值作为π的误差界

# 计算表达式的近似结果
f_star = a_star + b_star * (1 - 1 / pi_star)

# 计算各偏导项对误差的贡献
term_a = abs(1) * delta_a
term_b = abs(1 - 1 / pi_star) * delta_b
term_pi = abs(b_star / (pi_star ** 2)) * delta_pi

# 计算绝对误差上界
abs_error_bound = term_a + term_b + term_pi

# 计算相对误差上界(需确保近似结果不为0)
rel_error_bound = abs_error_bound / abs(f_star)

# 输出结果
print(f"表达式近似值: {f_star:.4f}")
print(f"绝对误差上界: {abs_error_bound:.6f}")
print(f"相对误差上界: {rel_error_bound:.6f}")

运行结果示例

表达式近似值: 2.5233
绝对误差上界: 0.057733
相对误差上界: 0.022884

注意事项

  • 如果输入的误差界不是基于最后一位半单位(比如有给定的误差范围),直接修改delta_a、delta_b、delta_pi的值即可。
  • 相对误差上界反映了误差占结果的比例,适合评估结果的精度等级。

内容的提问来源于stack exchange,提问作者pyring

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 06:05:23