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