Дополнительная функция ошибки
erfc(
представляет дополнительную функцию ошибки X
)X
, то есть erfc(X) = 1 - erf(X)
.
erfc(
представляет итерационный интеграл дополнительной функции ошибки K
,X
)X
, то есть erfc(K, X) = int(erfc(K - 1, y), y, X, inf)
.
В зависимости от его аргументов, erfc
может вернуть с плавающей точкой или точные символьные результаты.
Вычислите дополнительную функцию ошибки для этих чисел. Поскольку эти числа не являются символическими объектами, вы получаете результаты с плавающей точкой:
A = [erfc(1/2), erfc(1.41), erfc(sqrt(2))]
A = 0.4795 0.0461 0.0455
Вычислите дополнительную функцию ошибки для тех же чисел, преобразованных в символические объекты. Для большинства символических (точных) чисел, erfc
возвращает неразрешенные символические вызовы:
symA = [erfc(sym(1/2)), erfc(sym(1.41)), erfc(sqrt(sym(2)))]
symA = [ erfc(1/2), erfc(141/100), erfc(2^(1/2))]
Использовать vpa
для аппроксимации символьных результатов с необходимым количеством цифр:
d = digits(10); vpa(symA) digits(d)
ans = [ 0.4795001222, 0.04614756064, 0.0455002639]
Для большинства символьных переменных и выражений, erfc
возвращает неразрешенные символические вызовы.
Вычислите дополнительную функцию ошибки для x
и sin(x) + x*exp(x)
:
syms x f = sin(x) + x*exp(x); erfc(x) erfc(f)
ans = erfc(x) ans = erfc(sin(x) + x*exp(x))
Если входной параметр является вектором или матрицей, erfc
возвращает дополнительную функцию ошибки для каждого элемента этого вектора или матрицы.
Вычислите дополнительную функцию ошибки для элементов матрицы M
и векторные V
:
M = sym([0 inf; 1/3 -inf]); V = sym([1; -i*inf]); erfc(M) erfc(V)
ans = [ 1, 0] [ erfc(1/3), 2] ans = erfc(1) 1 + Inf*1i
Вычислите итерационный интеграл дополнительной функции ошибки для элементов V
и M
и целое число -1
:
erfc(-1, M) erfc(-1, V)
ans = [ 2/pi^(1/2), 0] [ (2*exp(-1/9))/pi^(1/2), 0] ans = (2*exp(-1))/pi^(1/2) Inf
erfc
возвращает специальные значения для конкретных параметров.
Вычислите дополнительную функцию ошибки для x = 0, x = ∞ и x = - ∞. Дополнительная функция ошибки имеет специальные значения для этих параметров:
[erfc(0), erfc(Inf), erfc(-Inf)]
ans = 1 0 2
Вычислите дополнительную функцию ошибки для сложных бесконечностей. Использовать sym
для преобразования сложных бесконечностей в символические объекты:
[erfc(sym(i*Inf)), erfc(sym(-i*Inf))]
ans = [ 1 - Inf*1i, 1 + Inf*1i]
Многие функции, такие как diff
и int
, может обрабатывать выражения, содержащие erfc
.
Вычислите первую и вторую производные дополнительной функции ошибки:
syms x diff(erfc(x), x) diff(erfc(x), x, 2)
ans = -(2*exp(-x^2))/pi^(1/2) ans = (4*x*exp(-x^2))/pi^(1/2)
Вычислите интегралы этих выражений:
syms x int(erfc(-1, x), x)
ans = erf(x)
int(erfc(x), x)
ans = x*erfc(x) - exp(-x^2)/pi^(1/2)
int(erfc(2, x), x)
ans = (x^3*erfc(x))/6 - exp(-x^2)/(6*pi^(1/2)) +... (x*erfc(x))/4 - (x^2*exp(-x^2))/(6*pi^(1/2))
Постройте график функции дополнительной ошибки на интервале от -5 до 5.
syms x fplot(erfc(x),[-5 5]) grid on
Вызов erfc
для числа, которое не является символьным объектом, вызывает MATLAB® erfc
функция. Эта функция принимает только действительные аргументы. Если вы хотите вычислить дополнительную функцию ошибки для комплексного числа, используйте sym
чтобы преобразовать это число в символьный объект, а затем вызвать erfc
для этого символического объекта.
Для большинства символических (точных) чисел, erfc
возвращает неразрешенные символические вызовы. Можно аппроксимировать такие результаты с помощью чисел с плавающей запятой vpa
.
По крайней мере, один входной параметр должен быть скаляром, или оба аргумента должны быть векторами или матрицами одного размера. Если один входной параметр является скаляром, а другой - вектором или матрицей, то erfc
расширяет скаляр в вектор или матрицу того же размера, что и другой аргумент со всеми элементами, равными этому скаляру.
Тулбокс может упростить выражения, которые содержат функции ошибок и их инверсии. Для действительных значений x
тулбокс применяет следующие правила упрощения:
erfinv(erf(x)) = erfinv(1 - erfc(x)) = erfcinv(1 - erf(x)) = erfcinv(erfc(x)) = x
erfinv(-erf(x)) = erfinv(erfc(x) - 1) = erfcinv(1 + erf(x)) = erfcinv(2 - erfc(x)) = -x
Для любого значения x
система применяет следующие правила упрощения:
erfcinv(x) = erfinv(1 - x)
erfinv(-x) = -erfinv(x)
erfcinv(2 - x) = -erfcinv(x)
erf(erfinv(x)) = erfc(erfcinv(x)) = x
erf(erfcinv(x)) = erfc(erfinv(x)) = 1 - x
[1] Gautschi, W. «Error Function and Fresnel Integrals». Руководство по математическим функциям с формулами, графиками и математическими таблицами. (М. Абрамовиц и И. А. Штегун, эд.). Нью-Йорк: Дувр, 1972.