2023-06-16 《计算方法》- 陈丽娟 - 绪论.md
2023-06-16 《计算方法》- 陈丽娟 - 绪论
本章主要介绍计算方法的研究对象与特点,介绍误差的基本概念,并且提出在数值计算中应当普遍遵循的若干原则。最后附上习题答案。
一、误差与有效数字
误差可以分为:
- 模型误差
- 观测误差
- 截断误差
即用有限计算过程逼近无限计算过程产生的误差 - 舍入误差
用有限的数字近似表示无限数
- 定义1
- 设数
的近似值为
,记
为近似值
的绝对误差。
注意该定义的误差是可以为负数的。
- 定义2
- 近似值
的相对误差:
由于通常未知,因此相对误差常用
代替。
- 定义3
- 相对误差限:相对误差的绝对值的上界,即
- 定义4
- 设数
的近似值为
, 则
其中,是在0到9之间的数字 (特别的,
). 若
, 则称
有
位有效数字。
定义4在说一个什么事情呢?我们从一个实际例子来看有效数字到底是什么:
设, 我们求
. 显然这个问题的值是
. 我们用
来代替
做计算(舍入误差),得到
。那么
有几位有效数字呢,我们按照定义来看
![](https://img2023.cnblogs.com/blog/1005300/202306/1005300-20230616124217763-1321485835.png)
即可知道
![](https://img2023.cnblogs.com/blog/1005300/202306/1005300-20230616124218089-1325785084.png)
- 定理1
- 设
的近似值为
, 则
- 若
有
位有效数字,则其相对误差为
;
- 若
的相对误差
,则
至少有
位有效数字。
定理1的证明很简单,只需要将定义带入即可。
- 一个有争议的例子
- 要使
的近似值的相对误差小于0.1%,要取几位有效数字?
书上由定理1的第一条得到4位有效数字。这里我们考虑使用定理1的第二条,我们可以得到,带入
, 得到至少需要3位有效数字。作为检验,我们计算
, 或
,均验证了只需要取3位有效数字就可以满足要求。(此分析正确性待定,希望大家能指出问题所在)
二、数值运算的误差估计
一个更详细的分析见 https://blog.csdn.net/HiWangWenBing/article/details/119790035
![](https://img2023.cnblogs.com/blog/1005300/202306/1005300-20230616124222305-1734962539.png)
![](https://img2023.cnblogs.com/blog/1005300/202306/1005300-20230616124222663-213471857.png)
![](https://img2023.cnblogs.com/blog/1005300/202306/1005300-20230616124222954-1114724271.png)
![](https://img2023.cnblogs.com/blog/1005300/202306/1005300-20230616124223291-1823975698.png)
![](https://img2023.cnblogs.com/blog/1005300/202306/1005300-20230616124223631-1089719303.png)
三、数值计算中的一些原则
- 避免两个相近数相减
- 避免绝对值太小的数做分母
- 避免大数吃小数
- 数值算法要稳定
计算过程中舍入误差可以控制的计算公式称为稳定的数值算法 - 先化简再计算
四、习题
题目请看教材
-
取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