본문 바로가기

Programings/Function Explanation

Gasdev(), Ran1() 함수 설명

반응형

gasdev(), ran1() 함수는 어떤때 쓰이는 어떻게 이용하는 것이가?
(참고 :  함수에 있느는 값이 어떤 것을 의미하고 어떻게 작동하는지에 대한 원리는 모른다. 다만 사용법을 설명한다.)


통계에서 정규분포 N( , ) 형식을 보았을 것이다. 우리는 gasdev()와 ran1() 함수를 이용하여 정규분포 N(10, 5^2)을 따르는 모집단을 만들 것이다.
(10, 5^2)에서 ^2는 2의 제곱을 듯한다. 즉, (10, 25)라는 것이다. 2^3 = 2*2*2 //설마 이정도는 알겠지;;;;;;


쓰는 방법은 간단하다.

먼저 ran1()함수에 쓰이는 #define IM 2147483647 값을 메인 함수에서 아래와 같이 선언해 준다.
long idum=IM;  //long 타입 선언, idum는 자신이 마음에 드는 것으로 바꿔도 무방.

이제 gasdev()함수에 IM값을 선언한 idum을 넣어준다. (만약 idum을 다른것으로 바꿨다면 그 값을 넣어준다. 물론 앞에 주소를 알려주는 &기호를  붙이고....)


// 정규분포 N(10, 5^2)을 따르는 1개의 값을 생성

5*gasdev(&idum)+10; 

위처럼 gasdev에 5를 곱하면 5^2를 따르는 분포가 형성되고 뒤에 10을 더하면 평균 10을 가지는 정규분포 N(10, 5^2) 1개의 값을 가지게 된다.
이제 모집단 50개를 만든다면 이 작업을 50번 반복해서 배열에 넣으면 되는 것이다.


  


반응형

'Programings > Function Explanation' 카테고리의 다른 글

Gasdev(), Ran1() 함수 원형  (0) 2010.06.20