Проверяйте, конечны ли символьные элементы массива
isfinite(A)
isfinite(
возвращает массив, одного размера как A
)A
, содержащий логический 1
s (TRUE), где элементами A
является конечный, и логический 0
s (FALSE), где они не. Для комплексного числа isfinite
возвращает 1
, если и действительные и мнимые части того номера конечны. В противном случае это возвращает 0
.
Используя isfinite
, определите, какие элементы этой символьной матрицы являются конечными значениями:
isfinite(sym([pi NaN Inf; 1 + i Inf + i NaN + i]))
ans = 2×3 logical array 1 0 0 1 0 0
Аппроксимируйте эти символьные значения с 50-разрядной точностью:
V = sym([pi, 2*pi, 3*pi, 4*pi]); V_approx = vpa(V, 50);
Котангенсы точных значений не конечны:
cot(V) isfinite(cot(V))
ans = [ Inf, Inf, Inf, Inf] ans = 1×4 logical array 0 0 0 0
Тем не менее, котангенсы аппроксимированных значений конечны из-за ошибок округления:
isfinite(cot(V_approx))
ans = 1×4 logical array 1 1 1 1
Для любого A
точно одно из этих трех количеств isfinite(A)
, isinf(A)
или isnan(A)
является 1
для каждого элемента.
Элементы A
распознаны конечными, если они
Не символьный NaN
Не символьный Inf
или -Inf
Не суммы или продукты, содержащие символьные бесконечности Inf
или -Inf