2023-06-16 《计算方法》- 陈丽娟 - 绪论
Matlab计算方法误差有效数字本章主要介绍计算方法的研究对象与特点,介绍误差的基本概念,并且提出在数值计算中应当普遍遵循的若干原则。最后附上习题答案。
一、误差与有效数字
误差可以分为:
- 模型误差
- 观测误差
- 截断误差
即用有限计算过程逼近无限计算过程产生的误差 - 舍入误差
用有限的数字近似表示无限数
- 定义1
- 设数的近似值为,记为近似值的绝对误差。
注意该定义的误差是可以为负数的。
- 定义2
- 近似值的相对误差:
由于通常未知,因此相对误差常用代替。
- 定义3
- 相对误差限:相对误差的绝对值的上界,即
- 定义4
- 设数的近似值为, 则
其中,是在0到9之间的数字 (特别的,). 若, 则称有位有效数字。
定义4在说一个什么事情呢?我们从一个实际例子来看有效数字到底是什么:
设, 我们求. 显然这个问题的值是. 我们用来代替做计算(舍入误差),得到。那么有几位有效数字呢,我们按照定义来看
即可知道有六位有效数字,这与我们的预期相符。
- 定理1
- 设的近似值为, 则
- 若有位有效数字,则其相对误差为;
- 若的相对误差,则至少有位有效数字。
定理1的证明很简单,只需要将定义带入即可。
- 一个有争议的例子
- 要使的近似值的相对误差小于0.1%,要取几位有效数字?
书上由定理1的第一条得到4位有效数字。这里我们考虑使用定理1的第二条,我们可以得到,带入, 得到至少需要3位有效数字。作为检验,我们计算, 或,均验证了只需要取3位有效数字就可以满足要求。(此分析正确性待定,希望大家能指出问题所在)
二、数值运算的误差估计
一个更详细的分析见 https://blog.csdn.net/HiWangWenBing/article/details/119790035
三、数值计算中的一些原则
- 避免两个相近数相减
- 避免绝对值太小的数做分母
- 避免大数吃小数
- 数值算法要稳定
计算过程中舍入误差可以控制的计算公式称为稳定的数值算法 - 先化简再计算
四、习题
题目请看教材
-
取3.14,3.15,22/7,355/113作为的近似值,求各自的绝对误差、相对误差和有效数字的位数。
得绝对误差分别是
得相对误差分别是
有效数字的位数转换为,由可得到的取值。 -
解
, 则精确值, 可知绝对误差限应为0.00005, 相对误差限为, 有效数字可由及, 可得到, 即有三位有效数字。 -
首先求, 然后得到的近似值,再直接由定理1可得到有效数字位数
-
计算, 取, 下列哪一个的计算结果最好:
, , ,
按照计算原则,第三个的结果最好,第四个不知道有什么关系。 -
只需要注意显然有效数字有保证,即可得
-
难点在于给出迭代格式,即之间的关系。利用分部积分可得, 即可得到反推式子, 此外由有界,可知, 或可设, 然后依次计算.
-
,显然这个计算过程不稳定,误差指数增长。
-
只需要注意到的导数单调递减,可知由计算引起的误差随的增大而不敏感。
- log(30-sqrt(30^2-1))
- -4.094066668632085
- -log(30+sqrt(30^2-1))
- -4.094066668632055