Documentation Center |
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
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
See Infinity and NaN Functions for a list of functions most commonly used with inf and NaN in MATLAB.