09/02/01 23:00:56
なお、以下のような、平均0、標準偏差1の場合に
下側累積確率、上側累積確率を求める関数を見つけたのですが、
どのように変更を加えて良いのかわかりませんでした。
ご教授お願いします。
#include <math.h>
#define PI 3.14159265358979323846264
double p_nor(double z) /* 正規分布の下側累積確率 */
{
int i;
double z2, prev, p, t;
z2 = z * z;
t = p = z * exp(-0.5 * z2) / sqrt(2 * PI);
for (i = 3; i < 200; i += 2) {
prev = p; t *= z2 / i; p += t;
if (p == prev) return 0.5 + p;
}
return (z > 0);
}
double q_nor(double z) /* 正規分布の上側累積確率 */
{
return 1 - p_nor(z);
}