正規分布の分布関数

double cdfnor(double x)
{
  double d[6], cdfnor, cdf, u;
  d[0] = 0.0498673470;
  d[1] = 0.0211410061;
  d[2] = 0.0032776263;
  d[3] = 0.0000380036;
  d[4] = 0.0000488906;
  d[5] = 0.0000053830;
  if(x < 0)
    u =- x;
  else
    u = x;
  cdf = (d[5] * u + d[4]) * u + d[3];
  cdf = (cdf * u + d[2]) * u + d[1];
  cdf = (cdf * u + d[0]) * u + 1;
  if(x<0)
    cdfnor = 0.5 / pow(cdf, 16);
  else
    cdfnor = 1.0-0.5 / pow(cdf, 16);
  return(cdfnor);
}
最終更新:2008年02月05日 17:09