랜덤 변수 발생기(random variable generator)의 설계
- 최초 등록일
- 2010.06.02
- 최종 저작일
- 2010.05
- 16페이지/ 압축파일
- 가격 2,500원
소개글
MATLAB을 이용하여, random variable generator를 설계하였습니다.
균일 분포 발생기(uniform distribution random variable generator), 가우시안 분포 발생기(Gaussian random variable generator), 라플라스 분포 발생기(Laplace random variable generator)를 설계하였고, 각각의 설계 과정을 설명하였습니다.
실제 MATLAB 소스 코드 파일이 압축 파일에 포함되어 있습니다.
이를 실제로 사용하여 만든 랜덤 변수의 히스토그램을 도시하였고, 이들을 각각의 확률 밀도 함수(probabiltiy density function)와 비교하였습니다.
제가 올린 보고서는 모두 만점 받은 보고서입니다.
목차
<b>프로젝트2 보고서.hwp</b>
1. 균일 분포 발생기, 라플라스 분포 발생기, 가우시안 분포 발생기 소스 코드
2. 라플라스 분포 설계 과정
3. 설계한 발생기를 이용하여 실제 랜덤 변수를 발생, 히스토그램으로 도시
4. 각각의 결과를 확률밀도함수(probability density function)과 비교
5. 결론
<b>randgen.m</b>
본문내용
..FILE:randgen.m
function z=randgen(s,m,v,n)
%균일분포 발생
t=clock; %현재 시간의 값이 t에 들어감. 이를 이용해 seed를 만들었다.
x(1)=t(6)*10^7; %현재 시간중 가장 낮은 단위(계속적으로 바뀜)에 3*10^5을 곱해준 값을 seed로 넣어줌.
z(1)=t(6)*3*10^6; %x와는 다른 값을 seed로 넣어줌.
a=1664525;
c=1013904223;
ma=2^32;
for k=1:n-1
x(k+1)=mod((a*x(k)+c),ma);
z(k+1)=mod((a*z(k)+c),ma);
end
yy=x/ma; % yy에는 (0,1)사이의 n개의 균일분포 값이 들어간다. (균일분포 1)
yz=z/ma; % yz에는 yy와는 다른 (0,1)사이의 n개의 균일분포 값이 들어간다.(균일분포 2)=>가우시안 분포 생성에서 사용하기 위해 만들었다.
%균일분포 발생기
if s==`u`
z=yy*(v-m)+m; % s가 u일때 z에는 (m,v)사이의 n개의 균일분포값이 들어간다.
%라플라스 분포 발생기
elseif s==`l`
la=yy-0.5; % (-0.5,0.5)사이의 균일분포 값을 la에 넣어준다.(라플라스 발생기에서 사용)
lb=sqrt(v/2);
z=m-lb*sign(la).*log(1-2*abs(la)); % s가 l일때 z에는 평균이 m이고 분산이 v인 라플라스 분포
참고 자료
위키피디아 백과사전(English) “Laplace distribution"항목
아주대학교, 전자회로실험 교재 pdf파일(실험5 능동 필터 회로)
확률 및 랜덤변수 (2007), 나상신, 랜덤변수 발생기의 설계(23p~40p)
압축파일 내 파일목록
randgen.m
프로젝트2 보고서.hwp