MATLAB을 사용한 무작위 순열

Ammar Ali 2022년1월20일
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는 모두 동일한 요소를 포함합니다.

코드를 다시 실행하면 출력이 변경되지만 두 벡터의 요소는 변경되지 않은 상태로 유지됩니다. 이전에 저장된 상태를 사용하지 않으면 벡터는 다른 요소를 갖게 됩니다.

작가: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

관련 문장 - MATLAB Random