共找到19條詞條名為EPS的結果 展開
EPS
MATLAB中的eps
徠EPS是MATLAB中的函數,表示浮點相對精度。對雙精度數值來說eps表示從 1.0 到下一個最大雙精度數的距離。對單精度數值來說eps表示從 1.0 到下一個最大單精度數的距離。
距離越小表示精度越高。默認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)