Study/Digital_Communication
GaussianRandom
greenpresent
2014. 10. 1. 17:37
double GaussianRandom(double average, double stdev);
// 가우시안의 평균과 표준편차값 입력
double GaussianRandom(double average, double stdev)
{
double v1, v2, s, temp;
do{
v1=2*((double)rand()/RAND_MAX-1);
v2=2*((double)rand()/RAND_MAX-1);
s=v1*v1 + v2*v2;
}while(s >=1 || s==0); //-1~1까지의 값 발생
s=sqrt((-2*log(s)/s);
temp=v1*s;
temp=(stdev*temp)+average;
return temp;
}