MATLAB을 사용한 무작위 순열
이 튜토리얼에서는 MATLAB의 randperm()
함수를 사용하여 정수의 무작위 순열을 포함하는 벡터를 생성하는 방법에 대해 설명합니다.
MATLAB의 randperm()
함수를 사용하여 정수의 무작위 순열을 포함하는 벡터 생성
MATLAB의 내장 함수 randperm()
을 사용하여 임의의 정수 순열을 포함하는 벡터를 생성할 수 있습니다. randperm()
함수에서 샘플링 간격의 가장 큰 정수를 정의할 수 있으며 샘플링 간격의 가장 작은 정수는 기본적으로 1입니다.
예를 들어 randperm()
함수를 사용하여 1에서 6 사이의 정수 6개를 생성해 보겠습니다. 아래 코드를 참조하십시오.
clc
v = randperm(6)
출력:
v =
3 5 6 1 4 2
이 값은 무작위이기 때문에 이 코드를 다시 실행하면 출력이 변경됩니다. randperm()
함수의 두 번째 인수를 사용하여 임의 순열 정수의 수를 정의할 수 있습니다.
생성된 숫자는 고유하고 반복될 수 없기 때문에 첫 번째 인수보다 작거나 같은 숫자만 정의할 수 있습니다. 첫 번째 인수보다 큰 숫자를 정의하면 MATLAB은 오류를 표시합니다.
예를 들어 randperm()
함수를 사용하여 1에서 6 사이의 두 개의 임의 순열 수를 생성해 보겠습니다. 아래 코드를 참조하십시오.
clc
v = randperm(6,2)
출력:
v =
1 3
생성된 숫자는 무작위이기 때문에 코드를 다시 실행하면 출력에서 두 개의 숫자만 변경됩니다. rng
함수를 사용하여 난수 생성기의 상태를 저장할 수도 있습니다.
이전에 저장된 상태를 사용하여 동일한 정수 시퀀스를 생성할 수 있습니다. 예를 들어 randperm()
및 rng
함수를 사용하여 시퀀스가 동일한 두 벡터를 생성해 보겠습니다.
아래 코드를 참조하십시오.
clc
s = rng;
v1 = randperm(6,2)
rng(s)
v2 = randperm(6,2)
출력:
v1 =
1 2
v2 =
1 2
출력에서 벡터 v1과 v2는 모두 동일한 요소를 포함합니다.
코드를 다시 실행하면 출력이 변경되지만 두 벡터의 요소는 변경되지 않은 상태로 유지됩니다. 이전에 저장된 상태를 사용하지 않으면 벡터는 다른 요소를 갖게 됩니다.