| [ CnUnix ] in KIDS 글 쓴 이(By): wang (Chip쟁이) 날 짜 (Date): 2003년 6월 13일 금요일 오후 02시 20분 56초 제 목(Title): Re: [Q] 표준정규분포로 난수만들기 double gaussian() { static int ready = 0; static double gstore; double v1, v2, r, fac, gaus; if(ready == 0){ do{ v1 = 2.*uniform(); v2 = 2.*uniform(); r = v1*v1 + v2*v2; }while(r > 1.0); fac = sqrt(-2.*log(r)/r); gstore = v1*fac; gaus = v2*fac; ready = 1; } else{ gaus = gstore; ready = 0; } return(gaus); } 서점이나 도서관 가셔서 아무 수치해석책이나 뒤져도 나옵니다. 그리고 이외에도 방법이 있는 것으로 압니다. |