Check whether symbolic array elements are infinite




isinf(A) returns an array of the same size as A containing logical 1s (true) where the elements of A are infinite, and logical 0s (false) where they are not. For a complex number, isinf returns 1 if the real or imaginary part of that number is infinite or both real and imaginary parts are infinite. Otherwise, it returns 0.


Determine Which Elements of a Symbolic Array Are Infinite

Using isinf, determine which elements of this symbolic matrix are infinities:

isinf(sym([pi NaN Inf; 1 + i Inf + i NaN + i]))
ans =
     0     0     1
     0     1     0

Determine If the Exact and Approximated Values Are Infinite

Approximate these symbolic values with the 50-digit accuracy:

V = sym([pi, 2*pi, 3*pi, 4*pi]);
V_approx = vpa(V, 50);

The cotangents of the exact values are infinite:

ans =
[ Inf, Inf, Inf, Inf]
ans =
     1     1     1     1

Nevertheless, the cotangents of the approximated values are not infinite due to the round-off errors:

ans =
     0     0     0     0

Input Arguments

expand all

A — Input valuesymbolic number | symbolic variable | symbolic expression | symbolic function | symbolic array | symbolic vector | symbolic matrix

Input value, specified as a symbolic number, variable, expression, or function, or as an array, vector, or matrix of symbolic numbers, variables, expressions, functions.

More About

expand all


  • For any A, exactly one of the three quantities isfinite(A), isinf(A), or isnan(A) is 1 for each element.

  • The elements of A are recognized as infinite if they are

    • Symbolic Inf or -Inf

    • Sums or products containing symbolic Inf or -Inf and not containing the value NaN.

Was this topic helpful?