std::erf, std::erff, std::erfl_C++中文网

定义于头文件 <cmath>

float       erf ( float arg );
float       erff( float arg );

(1) (C++11 起)

double      erf ( double arg );

(2) (C++11 起)

long double erf ( long double arg );
long double erfl( long double arg );

(3) (C++11 起)

double      erf ( IntegralType arg );

(4) (C++11 起)

1-3) 计算 arg误差函数

4) 接受任何整数类型参数的重载集或函数模板,等价于 (2) (参数被转型到 double )。

参数

返回值

若不出现错误,则返回 arg 的误差函数的值,即 arg
0
e-t2
dt
。 若因下溢出现值域错误,则返回(舍入后的)正确结果,即

错误处理

报告 math_errhandling 中指定的错误。

若实现支持 IEEE 浮点算术( IEC 60559 ),则

  • 若参数为 ±0 ,则返回 ±0
  • 若参数为 ±∞ ,则返回 ±1
  • 若参数为 NaN ,则返回 NaN

注解

|arg| < DBL_MIN*(sqrt(π)/2) 则保证下溢。

erf() 是测量结果小于与平均数相差 x 的值的概率,其误差服从标准差为 σ 的正态分布。

示例

以下示例计算正态分布随机变量在区间 (x1, x2) 上的概率

输出:

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%
special values:
erf(-0) = -0.00
erf(Inf) = 1.00

参阅

外部链接

Weisstein, Eric W. "Erf." 来自 MathWorld--A Wolfram Web Resource 。