std::erf

From Cppreference

Jump to: navigation, search
Defined in header <cmath>

float       erf( float arg );
(C++11 feature)
double      erf( double arg );
(C++11 feature)
long double erf( long double arg );
(C++11 feature)

Computes the error function of arg.

Contents

[edit] Parameters

arg - floating point value

[edit] Return value

The value of the error function of arg, that is
2
π
arg
0
e-t2
dt
.

[edit] Example

The following example calculates the probability that a normal variate is on the interval (x1, x2)

#include <iostream>
#include <cmath>
#include <iomanip>
double phi(double x1, double x2)
{
    return (std::erf(x2/std::sqrt(2)) - std::erf(x1/std::sqrt(2)))/2;
}
int main()
{
    std::cout << "normal variate probabilities:\n";
    for(int n=-4; n<4; ++n)
        std::cout << "[" << std::setw(2) << n << ":" << std::setw(2) << n+1 << "]: "
                  << std::setw(5) << std::fixed << std::setprecision(2)
                  << 100*phi(n, n+1) << "%\n";
}

Output:

normal variate probabilities:
[-4:-3]:  0.13%
[-3:-2]:  2.14%
[-2:-1]: 13.59%
[-1: 0]: 34.13%
[ 0: 1]: 34.13%
[ 1: 2]: 13.59%
[ 2: 3]:  2.14%
[ 3: 4]:  0.13%


[edit] See also

erfc (C++11)
complementary error function
(function)

[edit] External links

Weisstein, Eric W. "Erf." From MathWorld--A Wolfram Web Resource.