2016-10-25 2 views
0

내장 함수 RANDOM_NUMBER (a PRNG)에 대해 특정 시드 집합을 사용하려고합니다. 지금까지 읽은 내용은 RANDOM_SEED, 특히 RANDOM_SEED(GET = array)을 호출하여 시드 값을 설정할 수 있다는 것입니다. 내 혼란은 가능한 경우 알고리즘의 특정 값을 설정하는 것입니다 (예 : RAND, RANDU 또는 RANDM 알고리즘). 자신의 시드를 직접 지정할 수 있습니다. get 함수가 배열을 사용하는 것처럼 시드를 설정하는 방법을 잘 모르겠습니다. 배열을 취하는 경우 배열의 특정 인덱스에서 항상 시드 값을 가져 옵니까? 기본적으로 특정 단일 시드 값을 설정하는 방법이 있습니까? 그렇다면 누군가가 글을 쓸 수 있습니까?`RANDOM_NUMBER` 알고리즘에서 특정 시드 사용

사이드 노트 - 내가 언급 한 다른 PRNG 중 하나가 내 교수에 따르면 "큰 홀수"와 잘 맞을 것으로 추정되므로 씨앗을 설정하려고하므로이 컨트롤을 제어 할 수도 있다고 결정했습니다. PRNG를 비교할 때.

+0

모두를 위해 fortran을 사용하십시오. 포트란 질문. 버전 관련 질문에 버전 태그를 추가 할 수 있습니다. –

답변

0

먼저, RANDOM_SEEDRANDOM_NUMBER()의 종자를 제어하는 ​​데에만 사용된다. 다른 임의의 난수 생성기 서브 루틴이나 함수를 사용하는 경우에는 전혀 영향을 미치지 않거나, 그렇다면 컴파일러에 따라 다르므로 설명서에서 찾아야합니다. 그러나 아마 그것들은 영향을 미치지 않을 것입니다.

둘째, 시드 배열에 1, 4 또는 42 개의 정수가 포함되는지 여부는 신경 쓰지 않아도됩니다. PRNG가 지정되지 않은 사용자 지정 방식으로 전체 배열의 비트를 사용하기 때문에 중요하지 않습니다. 예를 들어, 64 비트 실수를 생성 할 수 있지만 시드 배열은 32 비트 정수로 만들어집니다. seed 배열의 어느 정수가 무엇을하는지 간단히 말할 수는 없습니다. 전체 시드 배열을 원하는 경우 작은 조각으로 잘라진 하나의 큰 정수로 볼 수 있습니다.

교수의 조언에 관해서는 그가 의미하는 것을 알고 있지만 씨앗은 아마도 RANDOM_SEED 표준이 아닌 특정 발전기의 절차에 따라 설정 될 것이므로 해당 생성기에 대한 설명서를 읽어야합니다.

RANDOM_SEED에 특정 씨앗을 어떻게 사용합니까? 이 사이트에 여러 번 설명되었으므로 오른쪽 상단 검색 필드에 RANDOM_SEED을 검색하십시오. 그러나 간단합니다. 일단 배열의 크기를 알았 으면 원하는 크기 (0이 아닌 비트가 충분해야 함)로 크기를 조절하고 put=을 사용하십시오. 그게 전부 야, 그냥 배열에있는 개별 값에 대해 생각하지 않으면 전체 배열 데이터 하나의 조각입니다.

관련 문제