Main Content

randperm

정수로 구성된 난수 순열

설명

예제

p = randperm(n)은 1에서 n까지의 정수가 반복되지 않게 구성된 난수 순열을 행 벡터로 반환합니다.

예제

p = randperm(n,k)는 1에서 n 사이에서 임의로 고유한 정수 k개를 선택하여 행 벡터로 반환합니다.

p = randperm(s,___)는 디폴트 전역 스트림 대신 난수 스트림 s에서 정수로 구성된 난수 순열을 생성합니다. 스트림을 만들려면 RandStream 함수를 사용하십시오. s를 지정하고 뒤이어 위에 열거된 구문에 나와 있는 인수 조합을 지정합니다.

예제

모두 축소

1에서 6까지의 정수로 구성된 난수 순열을 생성합니다. randperm에 대한 입력값은 샘플링 구간 내의 최대 정수를 나타냅니다(구간 내의 최소 정수는 1).

r = randperm(6)
r = 1×6

     6     3     5     1     2     4

1에서 8까지의 정수 중에서 임의로 선택한 4개의 고유 정수(반복되는 요소 없음)로 구성된 난수 순열을 생성합니다.

r1 = randperm(8,4)
r1 = 1×4

     6     4     7     3

4개의 고유 정수로 구성된 다른 난수 순열을 생성합니다.

r2 = randperm(8,4)
r2 = 1×4

     8     7     5     4

난수 생성기의 현재 상태를 저장하고 1에서 8까지의 정수로 구성된 난수 순열을 만듭니다.

s = rng;
r = randperm(8)
r = 1×8

     6     3     7     8     5     1     2     4

난수 생성기의 상태를 s로 복원한 다음, 1에서 8까지의 정수로 구성된 새 난수 순열을 만듭니다. 이 순열은 전과 동일합니다.

rng(s)
r1 = randperm(8)
r1 = 1×8

     6     3     7     8     5     1     2     4

rng 함수를 사용하여 난수 생성기의 설정을 지정할 수 있습니다.

입력 인수

모두 축소

샘플 구간에 있는 정수의 개수로, 양의 정수로 지정됩니다. randperm은 1에서 n까지의(구간의 끝점 포함) 정수 값으로 구성된 순열을 만듭니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

선택한 정수 개수로, 양의 정수로 지정됩니다. 또한 kn보다 작거나 같아야 합니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

난수 스트림으로, RandStream 객체로 지정됩니다.

예: s = RandStream('dsfmt19937'); randperm(s,10)

  • randperm이 생성하는 수열은 rand, randi, randn, randperm의 기반이 되는 균일 의사 난수 생성기의 내부 설정에 의해 결정됩니다. 공유 난수 생성기를 제어하려면 rng 함수를 사용하십시오.

  • randperm에 의해 반환되는 배열은 반복하지 않는 정수로 구성된 순열을 포함합니다. 이러한 동작을 비복원 추출(Sampling Without Replacement)이라 일컫기도 합니다. 반복되는 값이 필요하면 randi 함수를 사용하십시오.

  • randperm(n)randperm(n,n)은 모두 1에서 n까지의 정수로 구성된 순열을 생성하지만, 순열에서 서로 다른 임의의 순서를 지정할 수 있습니다. 큰 n의 경우, randperm(n,n)randperm(n)보다 빠릅니다.

확장 기능

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

버전 내역

R2006a 이전에 개발됨