erf, erff, erfl

来自cppreference.com
< c‎ | numeric‎ | math
 
 
 
常用数学函数
类型
(C99)(C99)    

(C99)(C99)    

函数
基本运算
(C99)
(C99)
(C99)
(C99)(C99)(C99)(C23)
最大/最小运算
(C99)
(C23)    
指数函数
(C23)
(C99)
(C99)
(C23)
(C23)
(C99)
(C99)(C23)
(C23)
(C23)
幂函数
(C99)
(C23)
(C23)
(C99)
(C23)
(C23)
三角及双曲函数
(C23)
(C23)
(C23)
(C23)
(C99)
(C99)
(C99)
误差及伽马函数
erf
(C99)
(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)
宏常量
特殊浮点值
(C99)(C23)
参数与返回值
(C99)(C99)(C99)(C99)(C99)    
错误处理
(C99)    

 
在标头 <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) 泛型宏:若 arg 拥有 long 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("正态变量概率:");
    for (int n = -4; n < 4; ++n)
        printf("[%2d:%2d]: %5.2f%%\n", n, n + 1, 100 * phi(n, n + 1));
 
    puts("特殊值:");
    printf("erf(-0) = %f\n", erf(-0.0));
    printf("erf(Inf) = %f\n", erf(INFINITY));
}

输出:

正态变量概率:
[-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%
特殊值:
erf(-0) = -0.000000
erf(Inf) = 1.000000

引用

  • C11 标准(ISO/IEC 9899:2011):
  • 7.12.8.1 The erf functions (第 249 页)
  • 7.25 Type-generic math <tgmath.h> (第 373-375 页)
  • F.10.5.1 The erf functions (第 525 页)
  • C99 标准(ISO/IEC 9899:1999):
  • 7.12.8.1 The erf functions (第 230 页)
  • 7.22 Type-generic math <tgmath.h> (第 335-337 页)
  • F.9.5.1 The erf functions (第 462 页)

参阅

(C99)(C99)(C99)
计算补误差函数
(函数)

外部链接

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