📜  erf |在C++中使用cmath的错误函数

📅  最后修改于: 2021-05-30 03:06:55             🧑  作者: Mango

在数学中,误差函数(也称为高斯误差函数)是S型曲线的特殊函数(非基本函数),出现在描述扩散的概率,统计信息和偏微分方程中。

均值为0且方差为0.5的正常随机变量取[-x,x]之间的值的可能性。它由erf(x)表示,并由以下公式计算:

{\displaystyle {\begin{aligned}\operatorname {erf} (x)&={\frac {1}{\sqrt {\pi }}}\int _{-x}^{x}e^{-t^{2}}\,dt\\[5pt]&={\frac {2}{\sqrt {\pi }}}\int _{0}^{x}e^{-t^{2}}\,dt.\end{aligned}}}

在C++的cmath库中,错误函数已经实现。有两个这样的功能:

  1. erf(x) :此内置函数为x的输入值计算误差函数。参数x可以是int或float或double。它返回一个为erf(x)的双精度型。
  2. erfc(x) :此内置函数为x的输入值计算误差函数的补数。参数x可以是int或float或double。它返回一个为1 – erf(x)的双精度数。
/* C++ code to use erf */
#include 
#include      /* erf */
  
using namespace std;
  
double findProbability(double a)
{
    double prob_x_a = erf(a);
    return prob_x_a;
}
  
int main ()
{
    double a = 0.25;
    cout << "probability that normal r.v "
            "X takes value between " 
         << -a << " & " << a << " is " 
         << findProbability(a) << endl;
    return 0;
}

输出:

probability that normal r.v X takes value
between -0.25 & 0.25 is 0.276326

参考 :
维基百科

要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”