난수 생성

난수 생성 (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로도 지정할 수 있어요. 크기 인자를 주지 않으면 결과 행렬은 vp의 공통 크기가 돼요.

empirical_rnd

rnd = empirical_rnd (data)
rnd = empirical_rnd (data, r)
rnd = empirical_rnd (data, r, c, …)
rnd = empirical_rnd (data, [sz])

단변량 표본 data에서 얻은 경험 분포에서 무작위 표본 행렬을 반환해요.

하나의 크기 인자로 호출하면 지정된 차원의 정사각 행렬을 반환해요. 하나 이상의 스칼라 인자로 호출하면 처음 두 인자는 행·열 수로, 그 이후 인자는 추가 행렬 차원으로 취해요. 크기는 차원 벡터 sz로도 지정할 수 있어요. 크기 인자를 주지 않으면 결과 행렬은 표본 데이터의 무작위 순서가 돼요.

더 알아보기

  • 난수 생성기의 기반이 되는 내용은 특수 유틸리티 행렬 항목을 참고하세요.
  • 시드 설정과 재현 가능한 난수는 관련 난수 항목도 함께 보면 좋아요.