數值分析1.誤差及誤差分析
- 第一章
-
- 有效數
- 有效數字和相對誤差
- 誤差的數值運算
- 條件數
第一章
有效數
定義:某個數字 x ∗ x^* x∗可以寫成下面的形式
x ∗ = + / − 1 0 m ∗ 0. a 1 a 2 . . . a n . . . a p x^*=+/- 10^m*0.a_1a_2...a_n...a_p x∗=+/−10m∗0.a1a2...an...ap
如果 n n n是滿足
∣ e ∗ ∣ = ∣ x ∗ − x ∣ ≤ 1 / 2 ∗ 1 0 m − n |e^*|=|x^*-x| \leq 1/2 * 10^{m-n} ∣e∗∣=∣x∗−x∣≤1/2∗10m−n
的最大整數,則稱 x ∗ x^* x∗為 x x x的具有 n n n位有效數字的近似數,當 n = p n=p n=p的時候,稱 x ∗ x^* x∗為有效數。
有效數的一些結論:
- 對某有效數而言,末位數的半個機關是其絕對誤差限,即有效數本身反映了近似數的絕對誤差限。
- 對真值進行四舍五入得到的近似數是有效數
- 對近似同一真值的近似數而言,有效數字位數越多,其絕對誤差限越小。
- 有效數的末尾不能随意添加零
- 有效數字位數與介于第一位非零數字和小數點之間的零的個數沒有關系
- 準确值具有無窮位有效數字
有效數字和相對誤差
若 x ∗ x^* x∗ 由n位有效數字,則
∣ e r ∗ ∣ ≤ 1 2 a 1 ∗ 1 0 1 − n |e^*_r| \leq \frac{1}{2a_1}*10^{1-n} ∣er∗∣≤2a11∗101−n
若
∣ e r ∗ ∣ ≤ 1 2 ( a 1 + 1 ) ∗ 1 0 1 − n |e^*_r| \leq \frac{1}{2(a_1+1)}*10^{1-n} ∣er∗∣≤2(a1+1)1∗101−n
則x^*至少具有n位有效數字
誤差的數值運算
對于函數 y y y
e ( f ∗ ) = f ′ ( x ∗ ) ∗ e ( x ∗ ) e r ( f ∗ ) = x ∗ f ′ ( x ∗ ) f ( x ∗ ) e r ( x ∗ ) e(f^*)=f'(x^*)*e(x^*)\\ e_r(f^*)=\frac{x^*f'(x^*)}{f(x^*)}e_r(x^*) e(f∗)=f′(x∗)∗e(x∗)er(f∗)=f(x∗)x∗f′(x∗)er(x∗)
絕對誤差:
ε ( x 1 ∗ ± x 2 ∗ ) ≈ ε ( x 1 ∗ ) ± ε ( x 2 ∗ ) ε ( x 1 ∗ x 2 ∗ ) ≈ ∣ x 1 ∗ ∣ ε ( x 2 ∗ ) + ∣ x 2 ∗ ∣ ε ( x 1 ∗ ) ε ( x 1 ∗ / x 2 ∗ ) ≈ ∣ x 2 ∗ ∣ ε ( x 1 ∗ ) − ∣ x 1 ∗ ∣ ε ( x 2 ∗ ) ∣ x 2 ∗ ∣ 2 \begin{array}{l}{\varepsilon\left(x_{1}^{*} \pm x_{2}^{*}\right) \approx \varepsilon\left(x_{1}^{*}\right)\pm\varepsilon\left(x_{2}^{*}\right)} \\ {\varepsilon\left(x_{1}^{*} x_{2}^{*}\right) \approx\left|x_{1}^{*}\right| \varepsilon\left(x_{2}^{*}\right)+\left|x_{2}^{*}\right| \varepsilon\left(x_{1}^{*}\right)} \\ {\varepsilon\left(x_{1}^{*} / x_{2}^{*}\right) \approx \frac{\left|x_{2}^{*}\right| \varepsilon\left(x_{1}^{*}\right)-\left|x_{1}^{*}\right| \varepsilon\left(x_{2}^{*}\right)}{\left|x_{2}^{*}\right|^{2}}}\end{array} ε(x1∗±x2∗)≈ε(x1∗)±ε(x2∗)ε(x1∗x2∗)≈∣x1∗∣ε(x2∗)+∣x2∗∣ε(x1∗)ε(x1∗/x2∗)≈∣x2∗∣2∣x2∗∣ε(x1∗)−∣x1∗∣ε(x2∗)
相對誤差:
ε r ( x 1 ∗ ± x 2 ∗ ) ≈ x 1 ∗ ε r ( x 1 ∗ ) ± x 2 ∗ ε r ( x 2 ∗ ) / x 1 ∗ ± x 2 ∗ ε r ( x 1 ∗ x 2 ∗ ) ≈ ε r ( x 1 ∗ ) + ε r ( x 2 ∗ ) ε ( x 1 ∗ / x 2 ∗ ) ≈ ε r ( x 1 ∗ ) − ε r ( x 2 ∗ ) \begin{array}{l}{\varepsilon_r\left(x_{1}^{*} \pm x_{2}^{*}\right)\approx x_1^*\varepsilon_r\left(x_{1}^{*}\right)\pm x_2^*\varepsilon_r\left(x_{2}^{*}\right)}/{x_1^* \pm x_2^*} \\ {\varepsilon_r\left(x_{1}^{*} x_{2}^{*}\right) \approx \varepsilon_r\left(x_{1}^{*}\right)+\varepsilon_r\left(x_{2}^{*}\right)} \\ {\varepsilon\left(x_{1}^{*} / x_{2}^{*}\right) \approx\varepsilon_r\left(x_{1}^{*}\right)- \varepsilon_r\left(x_{2}^{*}\right)}\end{array} εr(x1∗±x2∗)≈x1∗εr(x1∗)±x2∗εr(x2∗)/x1∗±x2∗εr(x1∗x2∗)≈εr(x1∗)+εr(x2∗)ε(x1∗/x2∗)≈εr(x1∗)−εr(x2∗)
條件數
絕對誤差下函數值 f ( x ) f(x) f(x)的條件數: C o n d a ( f ) = ∣ f ′ ( x ) ∣ Cond_a(f)=|f'(x)| Conda(f)=∣f′(x)∣
相對誤差下函數值 f ( x ) f(x) f(x)的條件數: C o n d r ( f ) = ∣ x f ′ ( x ) f ( ) x ∣ Cond_r(f)=|x\frac{f'(x)}{f()x}| Condr(f)=∣xf()xf′(x)∣