# expm1

Compute `exp(X)-1` accurately for small `X`

## Syntax

``Y = expm1(X)``

## Description

example

````Y = expm1(X)` computes `exp(X)-1` for each element in array `X`. This function is more accurate for small real values in `X` because it compensates for the round-off error in `exp(X)`.```

## Examples

collapse all

Compare the accuracy of `exp(X)-1` and `expm1(X)`.

Create a vector of small real values.

`X = [-1e-17 1e-15 2e-14]`
```X = 1×3 10-13 × -0.0001 0.0100 0.2000 ```

Calculate `exp(X)-1` using the `exp` function.

`Y = exp(X)-1`
```Y = 1×3 10-13 × 0 0.0111 0.1998 ```

The results can be zeros or have large relative errors. For example, `Y(2)` is not close to `X(2)`, which is `1e-15`.

`Y(2)`
```ans = 1.1102e-15 ```

Calculate `exp(X)-1` using the `expm1` function.

`Y = expm1(X)`
```Y = 1×3 10-13 × -0.0001 0.0100 0.2000 ```

In this case, where `expm1(X)` is approximately `X`, the results are more accurate. For example, `Y(2)` is now close to `X(2)`, which is `1e-15`.

`Y(2)`
```ans = 1.0000e-15 ```

## Input Arguments

collapse all

Input array, specified as a scalar, vector, matrix, multidimensional array, table, or timetable.

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

## Version History

Introduced before R2006a

expand all