在线文档教程
C++
数字 | Numerics

std::erfc

科技促进发展:ERFC

Defined in header
float erfc( float arg (1)(since C++11)
double erfc( double arg (2)(since C++11)
long double erfc( long double arg (3)(since C++11)
double erfc( Integral arg (4)(since C++11)

1-3%29计算互补误差函数成arg,那就是1.0-erf(arg),但对于大型系统来说,它的精度并没有下降。arg

4%29一组过载或接受任意参数的函数模板积分型等于2%29%28double29%。

参数

arg-value of a floating-point or Integral type

返回值

如果没有错误发生,则互补错误函数的值arg,那就是

*。

#number7#π

富∞

阿格e-T2

T型或1-ERF%28 arg%29,返回。

如果由于下流而发生范围错误,则返回舍入%29后的正确结果%28。

错误处理

错误按数学[医]错误处理...

如果实现支持ieee浮点算法%28IEC 60559%29,

  • 如果参数为+∞,则返回+0

  • 如果参数为-∞,则返回2。

  • 如果参数为nan,则返回nan。

注记

适用于ieee兼容的类型。double,保证在以下情况下arg>26.55。

二次

#include <iostream> #include <cmath> #include <iomanip> double normalCDF(double x) // Phi(-∞, x) aka N(x) { return std::erfc(-x/std::sqrt(2))/2; } int main() { std::cout << "normal cumulative distribution function:\n" << std::fixed << std::setprecision(2 for(double n=0; n<1; n+=0.1) std::cout << "normalCDF(" << n << ") " << 100*normalCDF(n) << "%\n"; std::cout << "special values:\n" << "erfc(-Inf) = " << std::erfc(-INFINITY) << '\n' << "erfc(Inf) = " << std::erfc(INFINITY) << '\n'; }

二次

产出:

二次

normal cumulative distribution function: normalCDF(0.00) 50.00% normalCDF(0.10) 53.98% normalCDF(0.20) 57.93% normalCDF(0.30) 61.79% normalCDF(0.40) 65.54% normalCDF(0.50) 69.15% normalCDF(0.60) 72.57% normalCDF(0.70) 75.80% normalCDF(0.80) 78.81% normalCDF(0.90) 81.59% normalCDF(1.00) 84.13% special values: erfc(-Inf) = 2.00 erfc(Inf) = 0.00

二次

另见

erf (C++11)error function (function)

c为ERFC编写的文件

外部链接

韦斯斯坦,埃里克W.“ERFC”来自MathWorld的一个Wolfram Web资源。

© cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

http://en.cppreference.com/w/cpp/数值/maath/erfc