난수 생성
난수 생성 (Random Number Generation)
Octave는 아주 많은 분포에서 난수를 생성할 수 있어요. 어떤 분포에 어떤 함수를 쓰는지 표로 먼저 정리하고, 각 함수의 동작을 살펴볼게요.
출처: 문서
본문
Octave는 많은 분포에서 난수를 생성할 수 있어요. 난수 생성기는 특수 유틸리티 행렬 항목에서 설명하는 난수 생성기를 기반으로 해요.
사용 가능한 난수 생성기(가나다순)를 요약한 표는 다음과 같아요.
| 분포 | 함수 |
|---|---|
| 단변량 이산 분포 (Univariate Discrete Distribution) | discrete_rnd |
| 경험 분포 (Empirical Distribution) | empirical_rnd |
| 지수 분포 (Exponential Distribution) | rande |
| 감마 분포 (Gamma Distribution) | randg |
| 푸아송 분포 (Poisson Distribution) | randp |
| 표준 정규 분포 (Standard Normal Distribution) | randn |
| 균등 분포 (Uniform Distribution) | rand |
| 균등 분포(정수) (Uniform Distribution, integers) | randi |
discrete_rnd
rnd = discrete_rnd (v, p)
rnd = discrete_rnd (v, p, r)
rnd = discrete_rnd (v, p, r, c, …)
rnd = discrete_rnd (v, p, [sz])
값 v를 확률 p로 취하는 단변량 분포에서 무작위 표본 행렬을 반환해요.
하나의 크기 인자로 호출하면 지정된 차원의 정사각 행렬을 반환해요. 하나 이상의 스칼라 인자로 호출하면 처음 두 인자는 행·열 수로, 그 이후 인자는 추가 행렬 차원으로 취해요. 크기는 차원 벡터 sz로도 지정할 수 있어요. 크기 인자를 주지 않으면 결과 행렬은 v와 p의 공통 크기가 돼요.
empirical_rnd
rnd = empirical_rnd (data)
rnd = empirical_rnd (data, r)
rnd = empirical_rnd (data, r, c, …)
rnd = empirical_rnd (data, [sz])
단변량 표본 data에서 얻은 경험 분포에서 무작위 표본 행렬을 반환해요.
하나의 크기 인자로 호출하면 지정된 차원의 정사각 행렬을 반환해요. 하나 이상의 스칼라 인자로 호출하면 처음 두 인자는 행·열 수로, 그 이후 인자는 추가 행렬 차원으로 취해요. 크기는 차원 벡터 sz로도 지정할 수 있어요. 크기 인자를 주지 않으면 결과 행렬은 표본 데이터의 무작위 순서가 돼요.
더 알아보기
- 난수 생성기의 기반이 되는 내용은 특수 유틸리티 행렬 항목을 참고하세요.
- 시드 설정과 재현 가능한 난수는 관련 난수 항목도 함께 보면 좋아요.