Special.erfInv(u);
This function computes the inverse of the error function erf(u) = 2/sqrt(pi)*Integral_0_u exp(-t^2)*dt numerically with a relative precision of about 1e-15. Therefore, u = erf(erfInv(u)). Input argument u must be in the range (otherwise an assertion is raised):
-1 ≤ u ≤ 1
If u = 1, the function returns Modelica.Constants.inf.
If u = -1, the function returns -Modelica.Constants.inf
The implementation utilizes the formulation of the Boost library (erf_inv.hpp,
developed by John Maddock).
Plot of the function:
For more details, see Wikipedia.
erfInv(0) // = 0 erfInv(0.5) // = 0.4769362762044699 erfInv(0.999999) // = 3.458910737275499 erfInv(0.9999999999) // = 4.572824958544925
function erfInv input Real u "Input argument in the range -1 <= u <= 1"; output Real y "= inverse of error function"; end erfInv;
Date | Description | ||
---|---|---|---|
June 22, 2015 |
|