std::erf
STD::ERF
Defined in header | | |
---|---|---|
float erf( float arg | (1) | (since C++11) |
double erf( double arg | (2) | (since C++11) |
long double erf( long double arg | (3) | (since C++11) |
double erf( Integral arg | (4) | (since C++11) |
1-3%29计算误差函数成arg
...
4%29一组过载或接受任意参数的函数模板积分型等于2%29%28double
29%。
参数
arg | - | value of a floating-point or Integral type |
---|
返回值
如果没有发生错误,则错误函数的值为arg
,那就是
二
*。
#number7#π
弗鲁阿格
0e
-T2
丁T型
,被归还。
如果由于下垫流而发生范围错误,则在舍入%29之后,正确的结果%28,即。
二%2A阿格
*。
#number7#π
返回
错误处理
错误按数学[医]错误处理...
如果实现支持ieee浮点算法%28IEC 60559%29,
- 如果参数为±0,则返回±0
- 如果参数为±∞,则返回±1
- 如果参数为nan,则返回nan。
注记
如果|arg|<DBL_MIN*(sqrt(π)/2)ERF%28
X
*。
σⅩ2
%29是误差服从标准差σ的正态分布的概率小于x的概率。
例
下面的示例计算正常变量在区间%28X1,x2%29上的概率。
二次
#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"
<< std::fixed << std::setprecision(2
for(int n=-4; n<4; ++n)
std::cout << "[" << std::setw(2) << n << ":" << std::setw(2) << n+1 << "]: "
<< std::setw(5) << 100*phi(n, n+1) << "%\n";
std::cout << "special values:\n"
<< "erf(-0) = " << std::erf(-0.0) << '\n'
<< "erf(Inf) = " << std::erf(INFINITY) << '\n';
}
二次
产出:
二次
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
二次
另见
erfc (C++11) | complementary error function (function) |
---|
c机构资源框架文件
外部链接
韦斯斯坦,埃里克W.“厄夫”来自MathWorld的一个Wolfram Web资源。
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。