# eps

Floating-point relative accuracy

## Description

example

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

example

````d = eps(x)`, where `x` has data type `single` or `double`, returns the positive distance from `abs(x)` to the next largest floating-point number of the same precision as `x`. The command `eps(1.0)` is equivalent to `eps`.```

example

````d = eps(datatype)` returns `eps` according to the data type specified by `datatype`, which can be either `'double'` or `'single'`. The syntax `eps('double')` (default) is equivalent to `eps`, and `eps('single')` is equivalent to `eps(single(1.0))`.```

## Examples

collapse all

### Accuracy in Double Precision

Display the distance from `1.0` to the next largest double-precision number.

```d = eps ```
```d = 2.2204e-16 ```

`eps` is equivalent to `eps(1.0)` and `eps('double')`.

Compute `log2(eps)`.

```d = log2(eps) ```
```d = -52 ```

In base `2`, `eps` is equal to `2^-52`.

Find the distance from `10.0` to the next largest double-precision number.

```d = eps(10.0) ```
```d = 1.7764e-15 ```

### Accuracy in Single Precision

Display the distance from `1.0` to the next largest single-precision number.

```d = eps('single') ```
```d = 1.1921e-07 ```

`eps('single')` is equivalent to `eps(single(1.0))`.

Compute `log2(eps('single'))`.

```d = log2(eps('single')) ```
```d = -23 ```

In base `2`, single-precision `eps` is equal to `2^-23`.

Find the distance from the single-precision representation of 10.0 to the next largest single-precision number.

```d = eps(single(10.0)) ```
```d = 9.5367e-07 ```

## Input Arguments

collapse all

### `x` — Input arrayscalar | vector | matrix | multidimensional array

Input array, specified as a scalar, vector, matrix, or multidimensional array. `d` is the same size as `x`. For all `x`, `eps(x) = eps(-x) = eps(abs(x))`. If `x` is complex, `d` is the distance to the next largest floating-point number in magnitude. If `x` is `Inf` or `NaN`, then `eps(x)` returns `NaN`.

Data Types: `single` | `double`
Complex Number Support: Yes

### `datatype` — Output data type`'double'` (default) | `'single'`

Output data type, specified as `'double'` or `'single'`.

• `eps('double')` is equivalent to `eps` and `eps(1.0)`.

• `eps('single')` is equivalent to `eps(single(1.0))` and `single(2^-23)`.

Data Types: `char`