Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

시작 후 난수가 반복되는 이유

rand, randn, randi, randperm 등 모든 난수 함수는 공유 난수 생성기에서 값을 추출합니다. MATLAB®을 시작할 때마다 생성기는 스스로 동일한 상태로 재설정됩니다. 따라서, rand(2,2)와 같은 명령은 시작 후 바로 다음에 실행하는 경우 항상 동일한 결과를 반환합니다. 또한, 난수 함수를 호출하는 모든 스크립트나 함수도 다시 시작할 때마다 동일한 결과를 반환합니다.

MATLAB을 다시 시작할 때 동일한 난수 배열이 반복되지 않도록 하려면 다음 명령을

rng('shuffle');
rand, randn, randi, randperm 중 하나를 호출하기 전에 실행하십시오. 이 명령을 실행하면 이전 MATLAB 세션의 결과를 반복하지 않을 수 있습니다.

다시 시작하지 않고 MATLAB 세션이 시작될 때 얻은 결과를 반복하려면 다음을 사용하여 언제든지 생성기의 상태를 바꾸어 난수 생성을 처음부터 다시 시작하도록 설정할 수 있습니다.

rng('default');
rng('default')를 실행하면 그 다음 난수 명령이 새 MATLAB 세션의 출력값과 일치하는 결과를 반환합니다. 예를 들면 다음과 같습니다.
rng('default');
A = rand(2,2)
A =

    0.8147    0.1270
    0.9058    0.9134
A의 값은 MATLAB을 다시 시작할 때마다 rand(2,2)의 출력값과 일치합니다.

참고 항목