매틀랩에서는 normrnd()함수로 정규난수(normal random variable)를 발생시킬 수 있긴 하지만

여기서는 균일분포(균등분포)를 변환하여 생성해보도록 한다. 



균일분포(uniform distribution)인 랜덤변수와

박스뮬러 변환(Box-Muller Transformation)을 이용하여 정규난수(Gaussian Random)을 만들 수 있다.


아래는 매트랩으로 작성한 코드와 실행결과이다.



format long

N = 1000000;

u1 = rand(1,N);

u2 = rand(1,N);

s = 1;

m = 0;

x = m+s*sqrt(-2*log(u1)).*cos(2*pi*u2);

y = m+s*sqrt(-2*log(u1)).*sin(2*pi*u2);

n = horzcat(x,y);

hist(n, 50);









- 매틀랩의 다양한 plot들을 사용해서 그려본 도표들.










- 누적분포함수(cdf)






극좌표 방법(polar method)에 대해서는 다음 글에 이어집니다.


관련글 : http://tibyte.kr/219




  1. 뉴비스크립터 아님 2015.02.07 15:50

    와아 굳굳

  2. 질문 2016.04.28 13:19

    pdf랑 cdf 그리실 때 plot 어떻게 사용하셨어요??

    • BlogIcon 티바이트 2016.04.29 21:33 신고

      지금 매트랩이 설치되어 있지 않아서 정확하게는 확인을 못해보겠네요.. 데이터를 선택하고 매트랩 위쪽 메뉴 중에서 클릭해서 선택했던 것으로 기억합니다..

  3. ㅇㅇ 2018.02.06 21:36

    진짜 큰 도움이 되었습니다. 감사합니다!

+ Recent posts