カイ二乗分布の確率     Last modified: May 15, 2002

 自由度 df のカイ二乗分布において,x 以上の値をとる確率を与える関数です。


# カイ二乗分布の上側確率

function xxp(x, is,     i, t, w, pi2)
{
   pi2 = 0.398942280401432677940
   if (x == 0.0) {
       return 1
   }
   else if (is == 1) {
       return gxp(sqrt(x))*2.0
   }
   else if (is == 2) {
       return exp(-x/2.0)
   }
   else if ((is%2) == 0) {
       w = t = 1.0
       for (i = 2; i <= is-2; i += 2) {
           t *= x/i
           w += t
       }
       return exp(log(w) - x*0.5)
   }
   else {
       t = w = sqrt(x)
       for (i = 3; i <= is-2; i += 2) {
           t *= x/i
           w += t
       }
       return 2.0*(gxp(sqrt(x))+pi2*exp(log(w)-x*0.5))
   }
}

・ 直前のページへ戻る  ・ E-mail to Shigenobu AOKI