我想知道是否有数学函数内置在数学库中,它们是C++等标准C++库的一部分.如果不是,你们能推荐一个有累积正态分布函数的好统计库吗?提前谢谢.
更具体地说,我希望使用/创建累积分布函数.
我想知道是否有数学函数内置在数学库中,它们是C++等标准C++库的一部分.如果不是,你们能推荐一个有累积正态分布函数的好统计库吗?提前谢谢.
更具体地说,我希望使用/创建累积分布函数.
在前面回答的人的建议下,我想出了如何使用GSL来做这件事,但随后找到了一个非库解决方案(希望这能帮助很多像我一样正在寻找它的人):
#ifndef Pi
#define Pi 3.141592653589793238462643
#endif
double cnd_manual(double x)
{
double L, K, w ;
/* constants */
double const a1 = 0.31938153, a2 = -0.356563782, a3 = 1.781477937;
double const a4 = -1.821255978, a5 = 1.330274429;
L = fabs(x);
K = 1.0 / (1.0 + 0.2316419 * L);
w = 1.0 - 1.0 / sqrt(2 * Pi) * exp(-L *L / 2) * (a1 * K + a2 * K *K + a3 * pow(K,3) + a4 * pow(K,4) + a5 * pow(K,5));
if (x < 0 ){
w= 1.0 - w;
}
return w;
}