|On this page…|
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 = 1.e1000
x = exp(1000)
x = log(0)
Use the isinf function to verify that x is positive or negative infinity:
x = log(0); isinf(x) ans = 1
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
NaN > NaN ans = 0 NaN ~= NaN ans = 1
See Infinity and NaN Functions for a list of functions most commonly used with inf and NaN in MATLAB.