MATLAB Function Reference  eps

Floating-point relative accuracy

Syntax

• ```eps
d = eps(X)
eps('double')
eps('single')
```

Description

```eps ``` returns the distance from 1.0 to the next largest double-precision number, that is `eps = 2^(-52)`.

`d = eps(X)` is the positive distance from `abs(X)` to the next larger in magnitude floating point number of the same precision as `X`. `X` may be either double precision or single precision. For all `X`,

• ```eps(X) = eps(-X) = eps(abs(X))
```

`eps('double')` is the same as `eps` or `eps(1.0)`.

`eps('single')` is the same as `eps(single(1.0))` or `single(2^-23)`.

Except for denormals, if `2^E <= abs(X) < 2^(E+1),` then

• ```eps(X) = 2^(E-23) if isa(X,'single')
eps(X) = 2^(E-52) if isa(X,'double')
```

Replace expressions of the form

• ```if Y < eps * ABS(X)
```

with

• ```if Y < eps(X)
```

Examples

• ```double precision
eps(1/2) = 2^(-53)
eps(1) = 2^(-52)
eps(2) = 2^(-51)
eps(realmax) = 2^971
eps(0) = 2^(-1074)
if(abs(x)) <= realmin, eps(x) = 2^(-1074)
eps(Inf) = NaN
eps(NaN) = NaN
single precision
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)
if(abs(x)) <= realmin('single'), eps(x) = 2^(-149)
eps(single(Inf)) = single(NaN)
eps(single(NaN)) = single(NaN)
```

See Also

`realmax`, `realmin`

© 1994-2005 The MathWorks, Inc.