命名空间
变体
操作

erf, erff, erfl

来自 cppreference.cn
< c‎ | numeric‎ | math
 
 
 
常用数学函数
函数
基本运算
(C99)
(C99)
(C99)
(C99)(C99)(C99)(C23)
最大/最小值运算
(C99)
(C99)
指数函数
(C23)
(C99)
(C99)
(C23)
(C23)

(C99)
(C99)(C23)
(C23)
(C23)
幂函数
(C99)
(C23)
(C23)

(C99)
(C23)
(C23)
三角函数和双曲函数
(C23)
(C23)
(C23)
(C23)
(C99)
(C99)
(C99)
最接近整数的浮点数
(C99)(C99)(C99)
(C99)

(C99)(C99)(C99)
(C23)(C23)(C23)(C23)
浮点数操作
(C99)(C99)
(C99)(C23)
(C99)
窄化操作
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
量子和量子指数
十进制重编码函数
总阶数和有效载荷函数
分类
(C99)
(C99)
(C99)
(C23)
误差函数和伽玛函数
erf
(C99)
(C99)
(C99)
(C99)
类型
宏常量
特殊浮点数值
(C99)(C23)
参数和返回值
错误处理
快速运算指示符
 
定义于头文件 <math.h>
float       erff( float arg );
(1) (自 C99 起)
double      erf( double arg );
(2) (自 C99 起)
long double erfl( long double arg );
(3) (自 C99 起)
定义于头文件 <tgmath.h>
#define erf( arg )
(4) (自 C99 起)
1-3) 计算 arg误差函数
4) 类型泛型宏:如果 arglong double 类型,则调用 erfl。否则,如果 arg 是整数类型或 double 类型,则调用 erf。否则,调用 erff

目录

[编辑] 参数

arg - 浮点数值

[编辑] 返回值

如果没有错误发生,则返回 arg 的误差函数值,即
2
π
arg
0
e-t2
dt
。如果由于下溢发生范围错误,则返回正确的结果(舍入后),即
2*arg
π

[编辑] 错误处理

错误报告方式如 math_errhandling 中指定。

如果实现支持 IEEE 浮点算术 (IEC 60559),

  • 如果参数是 ±0,则返回 ±0
  • 如果参数是 ±∞,则返回 ±1
  • 如果参数是 NaN,则返回 NaN

[编辑] 注解

如果 |arg| < DBL_MIN*(sqrt(π)/2),则保证发生下溢。

erf(
x
σ2
)
是误差服从标准差为 σ 的正态分布的测量值偏离平均值小于 x 的概率。

[编辑] 示例

#include <math.h>
#include <stdio.h>
 
double phi(double x1, double x2)
{
    return (erf(x2 / sqrt(2)) - erf(x1 / sqrt(2))) / 2;
}
 
int main(void)
{
    puts("normal variate probabilities:");
    for (int n = -4; n < 4; ++n)
        printf("[%2d:%2d]: %5.2f%%\n", n, n + 1, 100 * phi(n, n + 1));
 
    puts("special values:");
    printf("erf(-0) = %f\n", erf(-0.0));
    printf("erf(Inf) = %f\n", erf(INFINITY));
}

输出

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.000000
erf(Inf) = 1.000000

[编辑] 参考文献

  • C11 标准 (ISO/IEC 9899:2011)
  • 7.12.8.1 erf 函数 (p: 249)
  • 7.25 类型泛型数学 <tgmath.h> (p: 373-375)
  • F.10.5.1 erf 函数 (p: 525)
  • C99 标准 (ISO/IEC 9899:1999)
  • 7.12.8.1 erf 函数 (p: 230)
  • 7.22 类型泛型数学 <tgmath.h> (p: 335-337)
  • F.9.5.1 erf 函数 (p: 462)

[编辑] 参见

(C99)(C99)(C99)
计算互补误差函数
(函数) [编辑]
C++ 文档 关于 erf

[编辑] 外部链接

Weisstein, Eric W. "Erf." 来自 MathWorld — Wolfram Web 资源。