excel normdist関数のC ++実装の魔法の数字
-
30-10-2019 - |
質問
ExcelのC ++実装を探している間 NORMDIST
(累積)私が見つけた関数 これはウェブサイトで:
static double normdist(double x, double mean, double standard_dev)
{
double res;
double x=(x - mean) / standard_dev;
if (x == 0)
{
res=0.5;
}
else
{
double oor2pi = 1/(sqrt(double(2) * 3.14159265358979323846));
double t = 1 / (double(1) + 0.2316419 * fabs(x));
t *= oor2pi * exp(-0.5 * x * x)
* (0.31938153 + t
* (-0.356563782 + t
* (1.781477937 + t
* (-1.821255978 + t * 1.330274429))));
if (x >= 0)
{
res = double(1) - t;
}
else
{
res = t;
}
}
return res;
}
私の限られた数学の知識は私を考えさせました テイラーシリーズ, 、しかし、私はこれらの数字がどこから来るのかを判断することができません:
0.2316419
,
0.31938153
,
-0.356563782
,
1.781477937
,
-1.821255978
,
1.330274429
誰もがどこから来たのか、どのように派生できるかを提案できますか?
正しい解決策はありません
所属していません StackOverflow