自由度 df のカイ二乗分布において,上側確率が p に対するパーセント点を与える関数です。
# カイ二乗分布のパーセント点を求める。 function pxx(p0, idf, df9, temp, u, xl, xm, xr, ok) { ok = 0 xl = 0 xr = 10 while (xr < 1e30) { temp = xxp(xr, idf) if (temp == p0) { return xr } else if (temp < p0) { ok = 1 break } xl = xr xr *= 10 } if (ok == 0) { printf "pxx(1): 近似計算を行いました。" > "/dev/stderr" u = pxg(p0) df9 = 2/(9*idf) temp = 1-df9+u*sqrt(df9) return idf*temp^3 } else { do { xm = (xl+xr)*0.5 temp = xxp(xm, idf) if (temp > p0) { xl = xm } else { xr = xm } } while (abs(xr-xl)/xm > 1e-10) return xm } }