Проверяйте, являются ли элементы символьного массива бесконечными
isinf( возвращает массив того же размера, что и A)A содержащие логические 1s (true) где элементы A бесконечны, и логичны 0s (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.