# MagicPlot Manual

Plotting and nonlinear fitting software

### Sidebar

nan

This is an old revision of the document!

# NaN

In computing, NaN, which stands for Not a Number, is a value or symbol that is usually produced as the result of an operation on invalid input operands. For example, most floating-point units are unable to explicitly calculate the square root of negative numbers, and will instead indicate that the operation was invalid and return a NaN result.

An invalid operation is not the same as an arithmetic overflow (which returns a positive or negative infinity). Arithmetic operations involving NaN always produce NaN, allowing the value to propagate through a calculation so that errors can be detected at the end without extensive testing during intermediate stages.

A NaN does not compare equal to any number or NaN. You can therefore test whether a variable has a NaN value by comparing it to itself, thus if `x == x` gives false (0) then x is a NaN code.

### How is a NaN created?

There are three kinds of operation which return NaN:

1. Operations with a NaN as at least one operand
2. Indeterminate forms
• The divisions 0/0, ∞/∞, ∞/-∞, -∞/∞, -∞/-∞
• The multiplications 0×∞ and 0×-∞
• The power 1^∞
• The additions ∞ + (-∞), (-∞) + ∞ and equivalent subtractions.
3. Real operations with complex results
• The square root of a negative number
• The logarithm of a negative number
• The tangent of an odd multiple of 90 degrees (or π/2 radians)
• The inverse sine or cosine of a number which is less than -1 or greater than +1.

## NaN in MagicPlot Tables

In MagicPlot NaN also is used to represent empty cells in tables.

Statistical functions ignores NaN values in tables.

## NaN in Expressions

You can use a predefined constants `NaN`, `nan` or `NAN` in expressions to indicate NaN value.

## Examples

Expression Result
`0^0` `1`
`0/0` `NaN`
`sqrt(-1)` `NaN`
`1/0` `Infinity`
`-1/0` `-Infinity`