erf
Error function
Syntax
Description
erf(
represents the error function of
X
)X
. If X
is a vector or a matrix,
erf(X)
computes the error function of each element of
X
.
Examples
Error Function for Floating-Point and Symbolic Numbers
Depending on its arguments, erf
can
return floating-point or exact symbolic results.
Compute the error function for these numbers. Because these numbers are not symbolic objects, you get the floating-point results:
A = [erf(1/2), erf(1.41), erf(sqrt(2))]
A = 0.5205 0.9539 0.9545
Compute the error function for the same numbers converted to symbolic objects. For
most symbolic (exact) numbers, erf
returns unresolved symbolic
calls:
symA = [erf(sym(1/2)), erf(sym(1.41)), erf(sqrt(sym(2)))]
symA = [ erf(1/2), erf(141/100), erf(2^(1/2))]
Use vpa
to approximate symbolic results with the required
number of digits:
d = digits(10); vpa(symA) digits(d)
ans = [ 0.5204998778, 0.9538524394, 0.9544997361]
Error Function for Variables and Expressions
For most symbolic variables and expressions,
erf
returns unresolved symbolic calls.
Compute the error function for x
and sin(x) +
x*exp(x)
:
syms x f = sin(x) + x*exp(x); erf(x) erf(f)
ans = erf(x) ans = erf(sin(x) + x*exp(x))
Error Function for Vectors and Matrices
If the input argument is a vector or a matrix,
erf
returns the error function for each element of that
vector or matrix.
Compute the error function for elements of matrix M
and vector
V
:
M = sym([0 inf; 1/3 -inf]); V = sym([1; -i*inf]); erf(M) erf(V)
ans = [ 0, 1] [ erf(1/3), -1] ans = erf(1) -Inf*1i
Special Values of Error Function
erf
returns special values for
particular parameters.
Compute the error function for x = 0, x = ∞, and x = –∞. Use sym
to convert 0
and
infinities to symbolic objects. The error function has special values for these
parameters:
[erf(sym(0)), erf(sym(Inf)), erf(sym(-Inf))]
ans = [ 0, 1, -1]
Compute the error function for complex infinities. Use sym
to
convert complex infinities to symbolic objects:
[erf(sym(i*Inf)), erf(sym(-i*Inf))]
ans = [ Inf*1i, -Inf*1i]
Handling Expressions That Contain Error Function
Many functions, such as diff
and
int
, can handle expressions containing
erf
.
Compute the first and second derivatives of the error function:
syms x diff(erf(x), x) diff(erf(x), x, 2)
ans = (2*exp(-x^2))/pi^(1/2) ans = -(4*x*exp(-x^2))/pi^(1/2)
Compute the integrals of these expressions:
int(erf(x), x) int(erf(log(x)), x)
ans = exp(-x^2)/pi^(1/2) + x*erf(x) ans = x*erf(log(x)) - int((2*exp(-log(x)^2))/pi^(1/2), x)
Plot Error Function
Plot the error function on the interval from -5 to 5.
syms x fplot(erf(x),[-5 5]) grid on
Input Arguments
More About
Tips
Calling
erf
for a number that is not a symbolic object invokes the MATLAB®erf
function. This function accepts real arguments only. If you want to compute the error function for a complex number, usesym
to convert that number to a symbolic object, and then callerf
for that symbolic object.For most symbolic (exact) numbers,
erf
returns unresolved symbolic calls. You can approximate such results with floating-point numbers usingvpa
.
Algorithms
The toolbox can simplify expressions that contain error functions and their inverses.
For real values x
, the toolbox applies these simplification
rules:
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
For any value x
, the system applies these simplification
rules:
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
References
[1] Gautschi, W. “Error Function and Fresnel Integrals.” Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables. (M. Abramowitz and I. A. Stegun, eds.). New York: Dover, 1972.
Version History
Introduced before R2006a