文章目录
- 误差简述.
- 绝对误差.
- 相对误差.
- 有效数字.
- 减少误差的原则.
- 减少误差的实例.
误差简述.
绝对误差.
- 【绝对误差】设 为准确值, 是 的近似值,则称 为近似值 的绝对误差,简称误差。
- 由于准确值 未知,实际工作中一般根据相关领域的知识、经验以及测量工具的精度,事先估计绝对误差的绝对值,即 不超过某个正数 ,所以有 ,该正数 称为近似值 的绝对误差限,简称为误差限或精度。
- 依据上面关于绝对误差限的定义,能够得出下式:,因此有时可以将准确值 写为 .
- 但近似值
相对误差.
- 【相对误差】所以除了考虑绝对误差的大小,还需要考虑准确值本身的大小,定义近似值 的相对误差为 ,实际计算中由于 未知,所以将定义改为 ,称为近似值
- 上述例子中,前者的相对误差为 ,而后者的相对误差为 ,一般来说相对误差越小,表明 对
- 仿照绝对误差限 的定义,可以定义相对误差限 .
有效数字.
- 【定义】设近似值 ,其中 都是 到 之间的自然数,并且 , 为整数,如果 ,则称近似值 具有 位有效数字,也称 是有
- 【定理一】设近似值 有 位有效数字,则其相对误差限.
- 【定理二】设近似值 的相对误差限 ,则它至少具有
- 从定理一和定理二的表述中不难看出,有效数字的位数越多,其相对误差限就越小。
- 【例题】设 ,则它的近似值 ,
- 【解答】根据定义,,所以 ,,所以 ,即 ,所以近似值 的有效位数为4,最后一位的数字1不是有效数字;同理 ,,,所以 ,,所以
- 【定理一证明】近似值 有 位有效数字,所以由定义可知 ,因为 ,易得 ,所以相对误差限 .
- 【定理二证明】因为 ,易得 ,所以 ,根据定义可知近似值 至少具有
减少误差的原则.
- 避免两个相近的数相减;
- 避免重要的小数被大数吞没;
- 避免除数的绝对值远小于被除数的绝对值;
- 注意算法的稳定性;
如果输入数据有误差,而算法在计算过程中误差不增张,那么称此算法是数值稳定的,否则为数值不稳定的。
- 简化计算步骤,减少计算次数。
减少误差的实例.
- ①当 时,计算 的近似值。(避免两个相近的数相减)
- 【分析】采用6位十进制浮点运算,如果直接相减,由于 ,所以减数与被减数相差极小,,该式的精确值为 ,按照有效数字位数的定义可知,上述直接相减的结果只有 位有效数字,损失了 位有效数字。如果对算式进行等价变形,即 ,有
- 求二次方程 的根。(避免重要的小数被大数吞没)
- 【分析】使用因式分解法可知该方程两个解为 和 ,但如果编制程序,使用二次方程求根公式 ,如果在一台只能将数表示到小数点后 位的计算机上运算,首先进行对阶操作,,由于只能表示到小数点后 位,加号之后的数值就被舍去,所以 ;类似地 ,所以最终得到的两个根为 和 ,产生这两个解的原因是大数在运算中吞没了小数。产生解 的计算式为 ,如果对其进行等价变形,得到 ,在计算机精度不足的情况下也能够得到正确结果。
- 类似的情况,若 ,,,求 . 如果按照从左向右的加法次序来编制程序,同样在一台只能将数表示到小数点后 位的计算机上运算,时的对阶操作就会导致大数 将小数 吞没,从而最后的结果为 ;而如果改变次序,按照 的次序进行运算,就能够得到正确的结果 .
- 【Digression】出自Anany Levitin《Introduction to The Design and Analysis of Algorithms》,其中公式(11.14)即 .
- 在 位浮点十进制数下,用消去法解线性方程组(避免除数的绝对值远小于被除数的绝对值)
- 【分析】在计算机的 位浮点十进制数表示中,上述方程组写为:
- 第一种消去法思路将 ① 式除以 后减去 ② 式,从而消去 ,得到 ,解得 ,回代入 ① 式得 ,显然这组解偏差极大。原方程组的准确解为 ,,在
- 第二种消去思路保留 ② 式,消去 ① 式中的 ,即将 ② 式乘以 后减去 ① 式,得到 ,所以解得 ,回代入 ② 式得 ,相较于准确解来说是一个很好的近似解。
- 当 时,计算积分
- 【分析】,所以有. 当 时,,从而有
- 根据上式计算出 ,直到,问题出现了,上述积分在 内必然是正数,显然误差已经过大了。我们记初始误差为 ,根据迭代式,得到 ,所以最终 ,其误差绝对值会随着计算过程的进行不断增大,显然该算法不是数值稳定的。
- 考虑另一种算法,由 可得 ,直接估计出 的近似值,而后将 递减。因为 ,所以,所以 ,令 可以得到 ,可得
- 采用相同的误差分析方法,记初始误差 ,则 ,在计算过程中,其误差绝对值是不断减小的,因而该算法是数值稳定的。
- 离散Fourier变换与快速Fourier变换(简化计算步骤)
- 【离散Fourier变换】已知一离散信号 ,则其对应的Fourier系数为
- 相应地,如果已知Fourier系数 ,那么可以反推出
- 上述两式分别是离散Fourier变换和离散Fourier 逆变换,观察后发现主要是计算自然指数部分,若令 (着眼于正向变换),即我们想得到
- 上式 计算需要进行 次复数乘法,完成整个变换共需要 次复数乘法,一般取 .
- 【快速Fourier变换】FFT的基本思想是利用 减少乘法运算的次数,将 量级的乘法次数降低到 . 在上面介绍的计算 式中,将相同的 提取,对应的 相加,就能够减少乘法运算的次数。在 中,设 ,则有
- 以 为例,,将 以二进制表示,即 ,同理 ,记 ,则有
- 将FFT表示如下:
- 当 时,单个系数的FFT分为 步,每步进行2次复数乘法运算,共需要