数值分析(1)-绪论:误差

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kevin_zhao_zl/article/details/90399855

整理一下数值分析的笔记~
目录:

1. 误差
2. 多项式插值与样条插值
3. 函数逼近
4. 数值积分与数值微分
5. 线性方程组的直接解法
6. 线性方程组的迭代解法
7. 非线性方程求根
8. 特征值和特征向量的计算
9. 常微分方程初值问题的数值解

1. 误差的分类和来源

模型误差实际问题和对其进行抽象、简化后得到的数学模型之间存在的误差
观测误差:由于精度的限制,观察和测量时候产生 的误差
舍入误差:计算机字长的限制,所能表示的数只能有有限的位数,后面的部分按照不同的舍入规则舍去而产生的误差
截断/方法误差:得不到精确解的数学模型通常用数值方法求近似解,二者之间的误差。通常是用有限过程对无穷进行截断,比如,f(x)用泰勒公式近似替代如下:
P n ( x ) = f ( 0 ) + f ( 0 ) 1 ! x + f ( 0 ) 1 ! x 2 + . . . + f n ( 0 ) n ! x n P_n(x)=f(0)+\frac{f'(0)}{1!}x+\frac{f''(0)}{1!}x^2+...+\frac{f^{n}(0)}{n!}x^n

则截断误差为

R n ( x ) = f ( x ) P n ( x ) = f n + 1 ( ξ ) ( n + 1 ) ! x n + 1 , ξ ( 0 , x ) R_n(x)=f(x)-P_n(x)=\frac{f^{n+1}(\xi)}{(n+1)!}x^{n+1},其中 \xi \in(0,x)。

2. 误差和误差限

定义1. 设x为准确值, x x^* 为x的一个近似值,称 E ( x ) = x x E(x^*)=x^*-x 为近似值的绝对误差,简称误差

实际上,准确值x通常无法求得甚至未知,因此 E ( x ) E(x^*) 往往也无法求得,只能知道其绝对值得某个上界 ε ( x ) E ( x ) = x x \varepsilon(x^*)\geq E(x^*)=|x^*-x| ,数值 ε ( x ) \varepsilon(x^*) 称为 x x^* 的**(绝对)误差限**。
{一般地,凡是由准确值经过四舍五入得到的近似值,其绝对误差限等于该近似值末位的半个单位}

但是一个测量值的精确程度除了与绝对误差限有关外,还和该量的大小有关,由此引入相对误差限

定义2. 设x为准确值, x x^* 为x的一个近似值,称 E r ( x ) = E ( x ) x = x x x E_r(x^*)=\frac{E(x^*)}{x}=\frac{x^*-x}{x} 为近似值 x x^* 的相对误差,简记为 E r E_r ε r ( x ) E r ( x ) \varepsilon _r(x^*)\geq|E_r(x^*) x x^* 的相对误差限。

两种误差限的关系: ε r = ε x \varepsilon _r=\frac{\varepsilon}{|x^*|}

eg. 已知e=2.71828182…,近似值 e e^* =2.71828,则 ε = e e = 0.00000182... 0.000002 = 2 × 1 0 6 , ε r = ε e 0.71 × 1 0 6 \varepsilon=|e^*-e|=0.00000182...\leq0.000002=2 \times 10^{-6},\varepsilon_r=\frac{\varepsilon}{|e^*|}\approx0.71 \times10^{-6}

3. 有效数字

定义3.若 x x^* 作为x的近似值,其绝对误差的绝对值不超过某一位数字的半个单位,而该位数字到 x x^* 的第一位非零数字共有n位,则称用 x x^* 近似x时具有n位有效数字,简称 x x^* 有n位有效数字。

有效数字与绝对误差限的关系

x的近似值 x x^* 的规格化形式可以写为:

x = ± 0. a 1 a 2 . . . a k × 1 0 m x^*=\pm0.a_1a_2...a_k \times10^m

其中m是整数, a i a_i 是0-9中的一个数字且 a 1 0 a_1\neq 0 ,则 x = ± 0. a 1 a 2 . . . a k × 1 0 m n ( n k ) x^*=\pm0.a_1a_2...a_k \times10^m具有n位(n\leq k) 有效数字当且仅当 E = x x 0.5 × 1 0 m n |E|=|x^*-x|\leq 0.5 \times 10^{m-n} 。(可以看出有效数字越多,绝对误差越小)

有效数字与相对误差限的关系

x的近似值 x x^* 的规格化形式可以写为:

x = ± 0. a 1 a 2 . . . a k × 1 0 m , a 1 0 x^*=\pm0.a_1a_2...a_k \times10^m,a_1 \neq0

x x^* 有n位有效数字,则相对误差限:

e r 1 2 a 1 × 1 0 1 n e_r^*\leq \frac{1}{2a_1} \times 10^{1-n}
反之,若 x x^* 的相对误差限为

e r 1 2 ( a 1 + 1 ) × 1 0 1 n e_r^*\leq \frac{1}{2(a_1+1)} \times 10^{1-n}

4. 数值运算的误差估计

ε ( x 1 ± x 2 ) = ε ( x 1 ) + ε ( x 2 ) \varepsilon(x_1^* \pm x_2^*)=\varepsilon(x_1^*)+\varepsilon(x_2^*) ε ( x 1 x 2 ) x 1 ε ( x 2 ) + x 2 ε ( x 1 ) \varepsilon(x_1^* x_2^*) \approx |x_1^*|\varepsilon(x_2^*)+|x_2^*|\varepsilon(x_1^*) ε ( x 1 / x 2 ) x 1 ε ( x 2 ) + x 2 ε ( x 1 ) x 2 2 \varepsilon(x_1^* / x_2^*) \approx \frac{|x_1^*|\varepsilon(x_2^*)+|x_2^*|\varepsilon(x_1^*)}{|x_2^*|^2}

一般地,自变量有误差时,计算函数值也产生误差,误差限可利用函数的泰勒展开式进行估计, ε ( f ( x ) ) = f ( x ) f ( x ) = f ( x ) ( x x ) + f ( ξ ) 2 ( x x ) 2 , ξ x x \varepsilon(f(x^*))=f(x)-f(x^*)=f'(x^*)(x-x^*)+\frac{f''(\xi)}{2}(x-x^*)^2,其中\xi介于x和x^*之间

取绝对值并假定 f ( x ) f'(x^*) f ( x ) f''(x^*) 比值不大,忽略 ε ( x ) \varepsilon(x^*) 的高阶项,有:

ε ( f ( x ) ) f ( x ) ε ( x ) \varepsilon(f(x^*)) \approx |f'(x^*)| \varepsilon(x^*)

多元函数同理。

5. 四则运算的稳定性问题

  • 防止大数吃小数(计算机位数有限造成) \rarr 求和时从小到大相加,可使和的误差减小
  • 做减法时避免相近数相减 \rarr 使用有理化,三角变换等。
  • 避免小数作除数和大数作乘数。

6. 提高算法效率问题

6.1 减少运算次数(比如多项式计算的秦九韶算法)
6.2 病态问题:

定义:对数学问题本身如果输入数据有微小扰动,引起输出数据的很大扰动,即病态问题。

比如:计算函数值f(x),当x有扰动, δ = x x \delta=x-x^* ,相对误差 δ x \frac{\delta}{x} ,函数值相对误差 f ( x ) f ( x ) f ( x ) \frac{f(x)-f(x^*)}{f(x)} ,相对误差比值为 f ( x ) f ( x ) f ( x ) δ x f ( x ) δ f ( x ) δ x x f ( x ) f ( x ) = C p \frac{\frac{f(x)-f(x^*)}{f(x)}}{\frac{\delta}{x}}\approx\frac{\frac{f'(x)\delta}{f(x)}}{\frac{\delta}{x}}\approx \frac{xf'(x)}{f(x)}=C_p

C p C_p 称为计算函数值问题的条件数。

从上面的计算中可以看出,如果条件数很大(通常自变量相对误差不会太大)将会引起函数值相对误差很大 ,此时出现病态问题。


{持续更新}
欢迎扫描二维码关注微信公众号 深度学习与数学   [每天获取免费的大数据、AI等相关的学习资源、经典和最新的深度学习相关的论文研读,算法和其他互联网技能的学习,概率论、线性代数等高等数学知识的回顾]
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/kevin_zhao_zl/article/details/90399855