当前位置: 首页 > news >正文

数值运算的误差估计

数值运算的误差估计

设两个近似数 x 1 ∗ x_1^* x1 x 2 ∗ x_2^* x2的误差限分别为 ε ( x 1 ∗ ) \varepsilon(x_{1}^{*}) ε(x1) ε ( x 2 ∗ ) \varepsilon(x_{2}^{*}) ε(x2)

误差限满足一下运算法则:

  1. 和差运算的误差限

    • y = x 1 ± x 2 y = x_1\pm x_2 y=x1±x2
    • 对于 y ∗ = x 1 ∗ ± x 2 ∗ y^ *= x_1^*\pm x_2^* y=x1±x2,其误差限 ε ( y ∗ ) \varepsilon(y^*) ε(y)满足 ε ( y ∗ ) = ε ( x 1 ∗ ) + ε ( x 2 ∗ ) \varepsilon(y^*)=\varepsilon(x_1^*)+\varepsilon(x_2^*) ε(y)=ε(x1)+ε(x2)
    • 证明:因为
      ∣ x 1 − x 1 ∗ ∣ ⩽ ε ( x 1 ∗ ) \vert x_1 - x_1^*\vert\leqslant\varepsilon(x_1^*) x1x1ε(x1) ∣ x 2 − x 2 ∗ ∣ ⩽ ε ( x 2 ∗ ) \vert x_2 - x_2^*\vert\leqslant\varepsilon(x_2^*) x2x2ε(x2)

      ∣ y − y ∗ ∣ = ∣ ( x 1 ± x 2 ) − ( x 1 ∗ ± x 2 ∗ ) ∣ = ∣ ( x 1 − x 1 ∗ ) ± ( x 2 − x 2 ∗ ) ∣ ⩽ ∣ x 1 − x 1 ∗ ∣ + ∣ x 2 − x 2 ∗ ∣ ⩽ ε ( x 1 ∗ ) + ε ( x 2 ∗ ) \vert y - y^*\vert=\vert(x_1\pm x_2)-(x_1^*\pm x_2^*)\vert=\vert(x_1 - x_1^*) \pm(x_2 - x_2^*)\vert\leqslant\vert x_1 - x_1^*\vert+\vert x_2 - x_2^*\vert\leqslant\varepsilon(x_1^*)+\varepsilon(x_2^*) yy=(x1±x2)(x1±x2)=(x1x1)±(x2x2)x1x1+x2x2ε(x1)+ε(x2)
  2. 乘积运算的误差限

    • y = x 1 x 2 y = x_1x_2 y=x1x2


    • ε ( y ∗ ) ∣ y ∗ ∣ ≈ ∣ x 2 ∗ ∣ ε ( x 1 ∗ ) + ∣ x 1 ∗ ∣ ε ( x 2 ∗ ) ∣ x 1 ∗ x 2 ∗ ∣ = ε ( x 1 ∗ ) ∣ x 1 ∗ ∣ + ε ( x 2 ∗ ) ∣ x 2 ∗ ∣ \frac{\varepsilon(y^*)}{\vert y^*\vert}\approx\frac{\vert x_2^*\vert\varepsilon(x_1^*)+\vert x_1^*\vert\varepsilon(x_2^*)}{\vert x_1^*x_2^*\vert}=\frac{\varepsilon(x_1^*)}{\vert x_1^*\vert}+\frac{\varepsilon(x_2^*)}{\vert x_2^*\vert} yε(y)x1x2x2ε(x1)+x1ε(x2)=x1ε(x1)+x2ε(x2)(当 x 1 ∗ ≠ 0 x_1^*\neq0 x1=0 x 2 ∗ ≠ 0 x_2^*\neq0 x2=0),所以
      ε ( y ∗ ) ≈ ∣ x 2 ∗ ∣ ε ( x 1 ∗ ) + ∣ x 1 ∗ ∣ ε ( x 2 ∗ ) \varepsilon(y^*) \approx\vert x_2^*\vert\varepsilon(x_1^*)+\vert x_1^*\vert\varepsilon(x_2^*) ε(y)x2ε(x1)+x1ε(x2)

    • 证明:
      ∣ y − y ∗ ∣ = ∣ x 1 x 2 − x 1 ∗ x 2 ∗ ∣ = ∣ x 1 x 2 − x 1 x 2 ∗ + x 1 x 2 ∗ − x 1 ∗ x 2 ∗ ∣ = ∣ x 1 ( x 2 − x 2 ∗ ) + x 2 ∗ ( x 1 − x 1 ∗ ) ∣ ⩽ ∣ x 1 ∣ ∣ x 2 − x 2 ∗ ∣ + ∣ x 2 ∗ ∣ ∣ x 1 − x 1 ∗ ∣ \vert y - y^*\vert=\vert x_1x_2 - x_1^*x_2^*\vert=\vert x_1x_2 - x_1x_2^*+x_1x_2^* - x_1^*x_2^*\vert=\vert x_1(x_2 - x_2^*)+x_2^*(x_1 - x_1^*)\vert\leqslant\vert x_1\vert\vert x_2 - x_2^*\vert+\vert x_2^*\vert\vert x_1 - x_1^*\vert yy=x1x2x1x2=x1x2x1x2+x1x2x1x2=x1(x2x2)+x2(x1x1)x1∣∣x2x2+x2∣∣x1x1
      当用近似值 x 1 ∗ x_1^* x1 x 2 ∗ x_2^* x2代替 x 1 x_1 x1 x 2 x_2 x2时,
      ∣ y − y ∗ ∣ ≈ ∣ x 2 ∗ ∣ ε ( x 1 ∗ ) + ∣ x 1 ∗ ∣ ε ( x 2 ∗ ) \vert y - y^*\vert\approx\vert x_2^*\vert\varepsilon(x_1^*)+\vert x_1^*\vert\varepsilon(x_2^*) yyx2ε(x1)+x1ε(x2)

  3. 商运算的误差限

    • y = x 1 x 2 ( x 2 ≠ 0 ) y=\frac{x_1}{x_2}(x_2\neq0) y=x2x1(x2=0)

    • ε ( y ∗ ) ∣ y ∗ ∣ ≈ ε ( x 1 ∗ ) ∣ x 1 ∗ ∣ + ε ( x 2 ∗ ) ∣ x 2 ∗ ∣ \frac{\varepsilon(y^*)}{\vert y^*\vert}\approx\frac{\varepsilon(x_1^*)}{\vert x_1^*\vert}+\frac{\varepsilon(x_2^*)}{\vert x_2^*\vert} yε(y)x1ε(x1)+x2ε(x2)(当 x 1 ∗ ≠ 0 x_1^*\neq0 x1=0 x 2 ∗ ≠ 0 x_2^*\neq0 x2=0),所以
      ε ( y ∗ ) ≈ ∣ x 2 ∗ ∣ ε ( x 1 ∗ ) + ∣ x 1 ∗ ∣ ε ( x 2 ∗ ) ∣ x 2 ∗ ∣ 2 \varepsilon(y^*) \approx\frac{\vert x_2^*\vert\varepsilon(x_1^*)+\vert x_1^*\vert\varepsilon(x_2^*)}{\vert x_2^*\vert^2} ε(y)x22x2ε(x1)+x1ε(x2)
    • 证明:
      ∣ y − y ∗ ∣ = ∣ x 1 x 2 − x 1 ∗ x 2 ∗ ∣ = ∣ x 1 x 2 ∗ − x 1 ∗ x 2 x 2 x 2 ∗ ∣ = ∣ x 1 x 2 ∗ − x 1 ∗ x 2 ∗ + x 1 ∗ x 2 ∗ − x 1 ∗ x 2 x 2 x 2 ∗ ∣ = ∣ x 2 ∗ ( x 1 − x 1 ∗ ) + x 1 ∗ ( x 2 ∗ − x 2 ) x 2 x 2 ∗ ∣ ⩽ ∣ x 2 ∗ ∣ ∣ x 1 − x 1 ∗ ∣ + ∣ x 1 ∗ ∣ ∣ x 2 − x 2 ∗ ∣ ∣ x 2 ∣ ∣ x 2 ∗ ∣ \vert y - y^*\vert=\left\vert\frac{x_1}{x_2}-\frac{x_1^*}{x_2^*}\right\vert=\left\vert\frac{x_1x_2^* - x_1^*x_2}{x_2x_2^*}\right\vert=\left\vert\frac{x_1x_2^* - x_1^*x_2^*+x_1^*x_2^* - x_1^*x_2}{x_2x_2^*}\right\vert=\left\vert\frac{x_2^*(x_1 - x_1^*)+x_1^*(x_2^* - x_2)}{x_2x_2^*}\right\vert\leqslant\frac{\vert x_2^*\vert\vert x_1 - x_1^*\vert+\vert x_1^*\vert\vert x_2 - x_2^*\vert}{\vert x_2\vert\vert x_2^*\vert} yy= x2x1x2x1 = x2x2x1x2x1x2 = x2x2x1x2x1x2+x1x2x1x2 = x2x2x2(x1x1)+x1(x2x2) x2∣∣x2x2∣∣x1x1+x1∣∣x2x2
      当用近似值 x 1 ∗ x_1^* x1 x 2 ∗ x_2^* x2代替 x 1 , x 2 x_1,x_2 x1,x2时,
      ε ( y ∗ ) ≈ ∣ x 2 ∗ ∣ ε ( x 1 ∗ ) + ∣ x 1 ∗ ∣ ε ( x 2 ∗ ) ∣ x 2 ∗ ∣ 2 \varepsilon(y^*) \approx\frac{\vert x_2^*\vert\varepsilon(x_1^*)+\vert x_1^*\vert\varepsilon(x_2^*)}{\vert x_2^*\vert^2} ε(y)x22x2ε(x1)+x1ε(x2)
  4. 一般函数关系

ε ( A ∗ ) ≈ ∑ k = 1 n ( ∣ ∂ f ∂ x k ∗ ε ( x k ∗ ) ∣ ) \boxed{\varepsilon(A^*)\approx \sum_{k=1}^{n}\left(\left|\dfrac{\partial f}{\partial x_k}^*\varepsilon(x^*_k)\right|\right)} ε(A)k=1n( xkfε(xk) )



另一个同理,只写前半部分。设 f ( x ) = ln ⁡ ( x − x 2 − 1 ) f(x)=\ln (x-\sqrt{x^2-1}) f(x)=ln(xx21 )
y = ln ⁡ ( x − x 2 − 1 ) y=\ln (x-\sqrt{x^2-1}) y=ln(xx21 )

由误差公式:

ε ( f ∗ ) = ε ( y ∗ ) ∣ y ∗ ∣ \varepsilon(f^*)=\frac{\varepsilon(y^*)}{|y^*|} ε(f)=yε(y)

计得,保留 4 4 4位有效数字
∣ y ∗ ∣ = 0.01667 |y^*|=0.01667 y=0.01667

带入得到:

ε ( f ∗ ) = 0.5 × 1 0 − 5 0.01667 ≈ 2.9994 × 1 0 − 4 \varepsilon(f^*)=\frac{0.5\times 10^{-5}}{0.01667}\approx 2.9994\times 10^{-4} ε(f)=0.016670.5×1052.9994×104


原答案:

相关文章:

  • 深入理解深度循环神经网络(Deep RNN)
  • 4.4 os模块
  • 3. 仓颉 CEF 库封装
  • FME处理未知或动态结构教程
  • 微机系统:第二章节:16位的intel8086处理器
  • MLU实现 comfyui+wan2.1 完成图生视频创作
  • 写屏障和读屏障的区别是什么?
  • Javascript基础语法
  • 【C语言输入输出函数应用】
  • Java--图书管理系统(简易版)
  • ENSP-OSPF综合实验
  • 记录学习《手动学习深度学习》这本书的笔记(十一)
  • [Java实战]Spring Boot 定时任务(十五)
  • 深度优先与广度优先:如何用算法思维优化学习策略?
  • go程序编译成动态库,使用c进行调用
  • 数据结构实验9.2:动态查找表的基本操作
  • 机器学习总结
  • 操作系统原理实验报告
  • 常用的rerank模型有哪些?都有什么优势?
  • AI(学习笔记第三课) 使用langchain进行AI开发(2)
  • 中国巴西关于乌克兰危机的联合声明
  • 郑培凯:汤显祖的“至情”与罗汝芳的“赤子之心”
  • 在笔墨金石间,看胡问遂与梅舒适的艺术对话
  • 超新星|18岁冲击中超金靴,王钰栋的未来无限可能
  • 排污染黑海水后用沙土覆盖黑泥?汕尾环保部门:非欲盖弥彰
  • 警方通报:某博主遭勒索后自杀系自导自演,已立案调查