EPS(MATLAB中的eps)

EPS是MATLAB中的函式,表示浮點相對精度。對雙精度數值來說eps表示從 1.0 到下一個最大雙精度數的距離。對單精度數值來說eps表示從 1.0 到下一個最大單精度數的距離。

基本介紹

  • 外文名:Epsilon
  • 簡稱:EPS
  • eps(a):|a|與大於|a|的最小浮點數的距離
  • 所屬環境:matlab
基本信息,調用格式,

基本信息

距離越小表示精度越高。默認a=1。我們知道浮點數其實是離散的,有限的,而且間隔是不均勻的。我們可以說一個數旁邊的數是什麼,而它們之間的距離就反應了其精度。越靠近0,數和數之間就越密集,精度就越高。
0的精度是最高的,也就是說eps(0)才是matlab所能表示的最小的正數。
可以做以下的比較:
1+eps==1;%false
1+eps*0.7==1;%false
1+eps*0.49==1%true
2+eps==2;%true
2+eps*1.5==2;%false
eps也允許帶參數。在MATLAB的命令視窗中鍵入:help eps或者doc eps將獲得eps 的幫助信息:

調用格式

eps
返回1.0和下一個精度最高的雙精度浮點數的差值, 即2^(-52)。
d = eps(X)
返回abs(X)下一個和X具有同樣精度的浮點數之間的差值, 這個差值是正的。
X可以是單精度或雙精度的, 對於所有X, 有以下關係式:
eps(X) = eps(-X) = eps(abs(X))
eps('double')和eps及eps(1.0)一樣。
eps('single')和eps(single(1.0))及single(2^-23)一樣,可見對於單精度浮點數eps等於(2^-23)。
更詳細的幫助信息, 可以在matlab命令視窗中敲入doc eps命令獲得。
Expression Return Value
===========================================
eps(1/2) 2^(-53)
eps(1) 2^(-52)
eps(2) 2^(-51)
eps(realmax) 2^971
eps(0) 2^(-1074)
eps(realmin/2) 2^(-1074)
eps(realmin/16) 2^(-1074)
eps(Inf) NaN
eps(NaN) NaN
-------------------------------------------
eps(single(1/2)) 2^(-24)
eps(single(1)) 2^(-23)
eps(single(2)) 2^(-22)
eps(realmax('single')) 2^104
eps(single(0)) 2^(-149)
eps(realmin('single')/2) 2^(-149)
eps(realmin('single')/16) 2^(-149)
eps(single(Inf)) single(NaN)
eps(single(NaN)) single(NaN)

相關詞條

熱門詞條

聯絡我們