数值计算的误差

数值计算的误差

误差的来源
  1. 模型误差
  2. 观测误差
  3. 截断误差
  4. 舍入误差

其中模型误差和观测误差是不可避免的,不属于数值分析考虑范畴

截断误差是指数学模型(数值计算方法)与精确解直接存在的误差

舍入误差是指受计算机器字长限制导致的误差,由于计算机每个单元存储位数有限,且是按二级制存储在计算机中,没有办法存储所有的数字

误差的分类

绝对误差:
e ∗ = x ∗ − x e^*=x^*-x e=xx
其中 x x x 代表准确值, x ∗ x^* x表示近似值

e ∗ = x ∗ − x ≥ 0 e^*=x^*-x\ge0 e=xx0 说明近似值大于准确指是一个强近似值

e ∗ = x ∗ − x ≤ 0 e^*=x^*-x\le0 e=xx0 说明近似值小于准确指是一个若近似值

相对误差:
e r ∗ = e ∗ x ∗ e_r^*=\frac{e^*}{x^*} er=xe
相对误差更能表示一种误差成都

有效数字

若近似值与绝对值之间的误差,是某一个单位的 1 2 \frac{1}{2} 21,从第一个非0数字开始到这个位数共有n个位,那么就说近似值具有n位有效数字

计算公式:

x ∗ − x < 1 2 ∗ 1 0 m − n x^*-x<\frac{1}{2}*10^{m-n} xx<2110mn

其中 x , x ∗ x,x^* x,x是用科学计数表示的,m为10的次方,n表示有效位数的个数

相对误差与有效数字之间的转换

  1. x ∗ x^* x 具有n位有效数字,那么相对误差满足:

    e r ∗ ≤ 1 2 a 1 ∗ 1 0 − n + 1 e_r^*\le\frac{1}{2a_1}*10^{-n+1} er2a1110n+1

  2. 如果相对误差满足

    e r ∗ ≤ 1 2 a 1 + 1 ∗ 1 0 − n + 1 e_r^*\le\frac{1}{2a_1+1}*10^{-n+1} er2a1+1110n+1

    那么x至少具有n位有效数字

误差限的计算法则

误差限的四则运算
ε ( x 1 ∗ ± x 2 ∗ ) = ε ( x 1 ∗ ) + ε ( x 2 ∗ ) ε ( x 1 ∗ ∗ x 2 ∗ ) = ε ( x 1 ∗ ) ∣ x 2 ∗ ∣ + ε ( x 2 ∗ ) ∣ x 1 ∗ ∣ ε ( x 1 ∗ / x 2 ∗ ) = ε ( x 1 ∗ ) ∣ x 2 ∗ ∣ + ε ( x 2 ∗ ) ∣ x 1 ∗ ∣ ∣ x 2 ∗ ∣ 2 \varepsilon(x_1^*\pm x_2^*)=\varepsilon(x_1^*)+\varepsilon(x_2^*) \\[5pt]\varepsilon(x_1^** x_2^*)=\varepsilon(x_1^*)|x_2^*|+\varepsilon(x_2^*)|x_1^*| \\[5pt]\varepsilon(x_1^*/ x_2^*)=\frac{\varepsilon(x_1^*)|x_2^*|+\varepsilon(x_2^*)|x_1^*|}{|x_2^*|^2} ε(x1±x2)=ε(x1)+ε(x2)ε(x1x2)=ε(x1)x2+ε(x2)x1ε(x1/x2)=x22ε(x1)x2+ε(x2)x1
函数误差线的计算
ε ( f ( x ∗ ) ) ≈ ∣ f ′ ( x ∗ ) ∣ ε ( x ∗ ) ε ( f ( x 1 , x 2 , x 3 . . . x n ) ) ≈ ∑ k = 1 n ∣ ∂ f ( x 1 ∗ , x 2 ∗ , . . . , x n ∗ ) ∂ x k ∣ ∣ ε ( x k ∗ ) \varepsilon(f(x^*))\approx|f'(x^*)|\varepsilon(x^*) \\[5pt]\varepsilon(f(x_1,x_2,x_3...x_n))\approx\sum_{k=1}^{n}|\frac{\partial f(x_1^*,x_2^*,...,x_n^*)}{\partial x_k}||\varepsilon(x_k^*) ε(f(x))f(x)ε(x)ε(f(x1,x2,x3...xn))k=1nxkf(x1,x2,...,xn)ε(xk)

避免误差危害的若干原则
  1. 避免两个相近的数相减
  2. 避免大数吃小数,可以适当调整运算顺序
  3. 避免除数远小于被除数的除法,防止溢出
  4. 简化公式
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值