기록은 기억을 지배한다.

일요일 :
1주일 계획 수립


Gaussian Random Variable Code 컴퓨터

확률과 불규칙 신호론 시간에 잠깐 다루어 보았던 것...

Standard Normal random variable

double uniform_rv()
{
    int j=1+(int)(100000.0*rand()/(RAND_MAX+1.0));
    double value=(double)j/100000;

    return value;
}


double std_normal()        /* normal random variate generator */
{                                     
    double x1, x2, w, y1;
    static double y2;
    static int use_last = 0;

    if (use_last)                        /* use value from previous call */
    {
        y1 = y2;
        use_last = 0;
    }
    else
    {
        do {
            x1 = 2.0 * uniform_rv() - 1.0;
            x2 = 2.0 * uniform_rv() - 1.0;
            w = x1 * x1 + x2 * x2;
        } while ( w >= 1.0 );

        w = sqrt( (-2.0 * log( w ) ) / w );
        y1 = x1 * w;
        y2 = x2 * w;
        use_last = 1;
    }

    return(y1);
}


덧글

댓글 입력 영역