Accelerating the pace of engineering and science

# Documentation Center

• Trials

## Infinity and NaN

### Infinity

MATLAB® represents infinity by the special value inf. Infinity results from operations like division by zero and overflow, which lead to results too large to represent as conventional floating-point values. MATLAB also provides a function called inf that returns the IEEE® arithmetic representation for positive infinity as a double scalar value.

Several examples of statements that return positive or negative infinity in MATLAB are shown here.

 x = 1/0 x = Inf x = 1.e1000 x =    Inf x = exp(1000) x =    Inf x = log(0) x =    -Inf

Use the isinf function to verify that x is positive or negative infinity:

```x = log(0);

isinf(x)
ans =
1
```

### NaN

MATLAB represents values that are not real or complex numbers with a special value called NaN, which stands for Not a Number. Expressions like 0/0 and inf/inf result in NaN, as do any arithmetic operations involving a NaN:

```x = 0/0
x =
NaN
```

Use the isnan function to verify that the real part of x is NaN:

```isnan(x)
ans =
1
```

MATLAB also provides a function called NaN that returns the IEEE arithmetic representation for NaN as a double scalar value:

```x = NaN;

whos x
Name      Size                   Bytes  Class

x         1x1                        8  double
```

#### Logical Operations on NaN

Because two NaNs are not equal to each other, logical operations involving NaN always return false, except for a test for inequality, (NaN ~= NaN):

```NaN > NaN
ans =
0

NaN ~= NaN
ans =
1
```

### Infinity and NaN Functions

See Infinity and NaN Functions for a list of functions most commonly used with inf and NaN in MATLAB.