MagicPlot Manual

Plotting and nonlinear fitting software

User Tools

Site Tools


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 NaN appears?

There are three kinds of operation which return NaN:

  1. Operations with a NaN as at least one operand, e.g. 1+NaN
  2. Indeterminate forms
    • The divisions 0/0, ∞/∞, ∞/-∞, -∞/∞, -∞/-∞
    • The multiplications 0*∞, 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 Table Editing.

Statistical functions ignores NaN values in tables.

NaN in Expressions

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

example

  • if(col(B) >= 0, col(B), NaN) – returns only positive values from column B. Negative values are replaced by NaN value. You can use this expression to filter negative values if you do not want to use them in future calculations. Note, that ”Not-a-Number returned at row #” warning can be shown for such expression.

Examples

Expression Result
0^0 1
0/0 NaN
sqrt(-1) NaN
1/0 Infinity
-1/0 -Infinity
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
nan.1263399699.txt.gz · Last modified: Sun Nov 8 12:20:32 2015 (external edit)