erfinv
Inverse error function
Syntax
Description
erfinv(
computes the inverse error function of
X
)X
. If X
is a vector or a matrix,
erfinv(X)
computes the inverse error function of each element of
X
.
Examples
Inverse Error Function for Floating-Point and Symbolic Numbers
Depending on its arguments, erfinv
can return
floating-point or exact symbolic results.
Compute the inverse error function for these numbers. Because these numbers are not symbolic objects, you get floating-point results:
A = [erfinv(1/2), erfinv(0.33), erfinv(-1/3)]
A = 0.4769 0.3013 -0.3046
Compute the inverse error function for the same numbers converted to symbolic objects.
For most symbolic (exact) numbers, erfinv
returns unresolved symbolic
calls:
symA = [erfinv(sym(1)/2), erfinv(sym(0.33)), erfinv(sym(-1)/3)]
symA = [ erfinv(1/2), erfinv(33/100), -erfinv(1/3)]
Use vpa
to approximate symbolic results with the required number of
digits:
d = digits(10); vpa(symA) digits(d)
ans = [ 0.4769362762, 0.3013321461, -0.3045701942]
Inverse Error Function for Variables and Expressions
For most symbolic variables and expressions,
erfinv
returns unresolved symbolic calls.
Compute the inverse error function for x
and sin(x) +
x*exp(x)
. For most symbolic variables and expressions,
erfinv
returns unresolved symbolic calls:
syms x f = sin(x) + x*exp(x); erfinv(x) erfinv(f)
ans = erfinv(x) ans = erfinv(sin(x) + x*exp(x))
Inverse Error Function for Vectors and Matrices
If the input argument is a vector or a matrix,
erfinv
returns the inverse error function for each element of that
vector or matrix.
Compute the inverse error function for elements of matrix M
and
vector V
:
M = sym([0 1 + i; 1/3 1]); V = sym([-1; inf]); erfinv(M) erfinv(V)
ans = [ 0, NaN] [ erfinv(1/3), Inf] ans = -Inf NaN
Special Values of Inverse Complementary Error Function
erfinv
returns special values for particular
parameters.
Compute the inverse error function for x = –1, x = 0, and x = 1. The inverse error function has special values for these parameters:
[erfinv(-1), erfinv(0), erfinv(1)]
ans = -Inf 0 Inf
Handling Expressions That Contain Inverse Complementary Error Function
Many functions, such as diff
and
int
, can handle expressions containing
erfinv
.
Compute the first and second derivatives of the inverse error function:
syms x diff(erfinv(x), x) diff(erfinv(x), x, 2)
ans = (pi^(1/2)*exp(erfinv(x)^2))/2 ans = (pi*exp(2*erfinv(x)^2)*erfinv(x))/2
Compute the integral of the inverse error function:
int(erfinv(x), x)
ans = -exp(-erfinv(x)^2)/pi^(1/2)
Plot Inverse Error Function
Plot the inverse error function on the interval from -1 to 1.
syms x fplot(erfinv(x),[-1,1]) grid on
Input Arguments
More About
Tips
Calling
erfinv
for a number that is not a symbolic object invokes the MATLAB®erfinv
function. This function accepts real arguments only. If you want to compute the inverse error function for a complex number, usesym
to convert that number to a symbolic object, and then callerfinv
for that symbolic object.If x < –1 or x > 1, or if x is complex, then
erfinv(x)
returnsNaN
.
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 toolbox 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 in R2012a