码迷,mamicode.com
首页 > 编程语言 > 详细

C++ 计算正态分布积分

时间:2015-07-23 21:18:54      阅读:1437      评论:0      收藏:0      [点我收藏+]

标签:

 python,C#等语言计算正态分布积分的非常的方便。

提到C++,很多人就会觉得这个语言非常的笨, 如果不是为了追求效率,很少人会用C++写程序。 其实最近发现,C++有很多封装好的库, 比如矩阵计算有eigen库等。

今天想用C++计算一个标准正态分布的积分。 查了很多东西,包括boost等。

最后发现C++11可以直接算erf(x),稍微变换一下就可以计算高斯函数的积分了。erf的介绍在   https://en.wikipedia.org/wiki/Error_function

 

具体代码如下:

const double M_SQRT1_2 = sqrt(0.5);
double normalCFD(double value)
{
  return 0.5 * erfc(-value * M_SQRT1_2);
}

 

主要参考资料: https://stackoverflow.com/questions/2328258/cumulative-normal-distribution-function-in-c-c

C++ 计算正态分布积分

标签:

原文地址:http://www.cnblogs.com/gufeiyang/p/4671430.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!