在計算中,計算結果的精確度十分重要,誤差就是影響精度的東西
數學模型,即表示計算的公式或方程,本身就是近似的,就不就不精確,這種情況導致的誤差,就叫模型誤差。
對物理世界中的引數進行觀測時產生的誤差,比如測定乙個人的身高,無論用多麼精密的工具,肯定都會存在誤差。
用近似方法所產生的誤差,也叫方法誤差,比如利用泰勒(taylor)公式:
e x=
1+x1
!+..
.+xn
n!+x
n+1(
n+1)
!eθx
e^x=1+\frac+...+\frac+\frac}e^
ex=1+1
!x+
...+
n!xn
+(n
+1)!
xn+1
eθx
我們要計算左邊的值,那麼現實不允許我們計算無窮多項,所以只能近似使用:
e x≈
i=1+
x1!+
x22!
+...
+xnn
!ex
≈i=1
+1!x
+2!
x2+
...+
n!xn
此時上面公式的截斷誤差就是:
r =e
x−i=
xn+1
(n+1
)!eθ
x,
0<
θ<
1r=e^x-i=\frac}e^ , 0<\theta <1
r=ex−i
=(n+
1)!x
n+1
eθx,
0<
θ<1
由於計算機字長有限和浮點數表示方法的問題,計算機會按照捨入原則對超出其表示精度的資料捨入,導致結果的不精確。
數值分析中,一般假定模型正確,不考慮模型誤差和觀測誤差。
模型誤差和截斷誤差的區別
根據前面所說,這兩種誤差都是公式上存在誤差。
實際上泰勒公式本身這個模型是精確的,只是我們實際計算的數值方法是近似的,這就是二者區別。數學模型是精確的情況下,為了能夠計算(無窮多項是計算不出來的),我們會使用帶有截斷誤差的近似數值方法。
設x是精確值x
∗x^*
x∗的乙個近似值:
e =x
∗−
xe = x^* -x
e=x∗−x
e就稱為x的絕對誤差,簡稱誤差。如果:
∣ e∣
≤ε
|e|\le \varepsilon
∣e∣≤
ε則稱ε
\varepsilon
ε為近似值x的絕對誤差限或者絕對誤差界,簡稱誤差限、誤差界
需要知道的是,絕對誤差是無法精確求出來的,因為我們無法知道精確值的真實數值到底是多少。
同時,絕對誤差也存在侷限性,因為它沒有反應相對於精確之誤差所佔比例。比如,(1,1.1)、(100,100.1)這兩組數都是誤差為0.1,但是因為其數值大小不同,誤差造成的影響也大有不同。所以便產生了下面概念: er=
ex∗=
x∗−x
x∗
e_r = \frac=\frac
er=x∗
e=x
∗x∗−
x e
re_r
er就是相對誤差,但是同樣因為精確值是未知的,所以相對誤差也常取:
e r=
ex=x
∗−1x
e_r=\frac=\frac
er=xe
=xx
∗−1
同時,相對誤差絕對值的上界∣er
∣|e_r|
∣er∣;
ε r=
ε∣x∣
\varepsilon_r=\frac
εr=∣x
∣ε∣er
∣≤εr
|e_r|\le\varepsilon_r
∣er∣≤
εr
稱ε
\varepsilon
ε為相對誤差限或相對誤差界
書上原話:
設數x是x這會讓有效數字減少,相對誤差放大∗x^*
x∗的近似值,如果x的絕對誤差限是它的某一數字的半個單位,並且從x左起第乙個非零數字到該位共有n位,那麼就稱這n個數字為x的有效數字,也稱用x近似x
∗x^*
x∗時具有n位有效數字。
由於計算機位數限制,和大數在一起,小數可能會被低位溢位掉
絕對值太小的除法結果,會非常大,可能會導致資料高位溢位
還是由於計算機位數,每一步計算都會放大誤差,積累誤差
數值穩定:捨入誤差積累可控制。
誤差積累必須可控制,否則演算法沒有實用價值。
數值分析 誤差分析
方法誤差與捨入誤差 方法誤差 在用數學模型去 某個值的時候,由於選取的數學模型產生的誤差 例如使用泰勒展開式求取近似f x 時,其對應的拉格朗日餘項即為方法誤差 捨入誤差 計算機進行數值計算時產生的誤差,然後計算時產生的新誤差 比如用計算機用3.14去近似pi 誤差限對於某個演算法或者說數學模型,我...
數值計算誤差
在matlab上執行 5.1 5 0.1和 1.5 1 0.5,給出執行結果,並簡要分析一下產生現象的原因 x1 5.1 5 0.1 x1 3.608224830031759e 16 x2 1.5 1 0.5 x12 0原因 浮點數表示時數字時位數有限,以雙精度浮點數為例,共64位。對於5.1,符號...
數值分析實驗一 捨入誤差與數值穩定性
通過上機程式設計,複習鞏固以前所學程式語言 通過上機計算,了解捨入誤差所引起的數值不穩定性。通過上機計算,了解運算次序對計算結果的影響,從而盡量避免大數吃小數的現象。通過正反兩個例項的計算,了解利用計算機進行數值計算中捨入誤差所引起的數值不穩定性,深入理解初始小的捨入誤差可能造成誤差積累從而對計算結...