MATLAB은 랜덤 행렬 만들기
-
MATLAB에서
rand()
함수를 사용하여 난수 생성 -
MATLAB에서
randi()
함수를 사용하여 난수 생성 -
MATLAB에서
randn()
함수를 사용하여 난수 생성 -
MATLAB에서
randperm()
함수를 사용하여 난수 생성 -
MATLAB에서
betarnd()
함수를 사용하여 난수 생성 -
MATLAB에서
random()
함수를 사용하여 난수 생성
이 자습서에서는rand()
,randi()
,randn()
,randperm()
,betarand()
및random()
함수를 사용하여 난수를 생성하거나 생성하는 방법에 대해 설명합니다. MATLAB에서.
MATLAB에서rand()
함수를 사용하여 난수 생성
균일하게 분포 된 난수를 생성하려면 0과 1 사이의 난수를 생성하는 MATLAB에서rand()
함수를 사용할 수 있습니다. 또한 난수 값을 포함하는 행렬의 크기를 지정할 수 있으며 각 값은 다음과 같습니다. 스케일러를 곱하여 요구 사항에 따라 확장 할 수 있습니다. 예를 들어rand()
함수를 사용하여 임의 값으로 구성된 2x2 행렬을 생성 해 보겠습니다. 아래 코드를 참조하십시오.
rn = rand(2)
출력:
rn =
0.2259 0.2277
0.1707 0.4357
출력에서 볼 수 있듯이 0과 1 사이의 임의 값을 포함하는 2x2 행렬이 생성됩니다. 난수의 범위를 지정하려면 아래 공식을 사용해야합니다.
rn = a + (b-a).*rand(n,1)
이 공식에서a
는 하한,b
는 상한,n
은 난수의 길이입니다. 예를 들어 2 ~ 8 범위의 난수 10 개를 생성 해 보겠습니다. 아래 코드를 참조하십시오.
a = 2;
b = 8;
n = 10;
rn = a + (b-a).*rand(n,1)
출력:
rn =
7.5403
4.5812
3.1089
7.4293
7.8785
4.6332
2.6667
3.5484
4.4523
5.5694
2에서 8까지의 범위에는 10 개의 난수가 있습니다. 출력에 정수만 표시하려면 부동 소수점 수를 가장 가까운 정수로 반올림하는round()
함수를 사용하여 이러한 난수를 정수로 변환 할 수 있습니다. 크기에 대해size()
함수를 사용하고 데이터 유형에 대해like
속성을 사용하여 기존 배열에서 난수의 크기와 데이터 유형을 복제 할 수도 있습니다. 예를 들어 배열을 만들고 해당 배열의 크기와 데이터 유형에 따라 임의의 값을 생성 해 보겠습니다. 아래 코드를 참조하십시오.
v = [2 3 1 5]
rn = rand(size(v),'like',v)
출력:
v =
2 3 1 5
rn =
0.4886 0.5785 0.2373 0.4588
배열의 크기와 데이터 유형과 난수는 동일합니다. rand()
함수에 대한 자세한 내용은이 링크를 확인하십시오.
MATLAB에서randi()
함수를 사용하여 난수 생성
위의 함수는 부동 소수점 난수를 생성하지만 임의의 정수를 생성하려는 경우 MATLAB에서randi()
함수를 사용하여 1에서 지정된 정수로 지정할 수있는 임의의 정수를 생성 할 수 있습니다. randi()
함수의 첫 번째 인수입니다. 두 번째 및 세 번째 인수로 임의 값을 포함하는 출력 행렬의 크기를 지정할 수도 있습니다. 예를 들어 1에서 15까지의 임의의 정수를 포함하는 3x3 행렬을 생성 해 보겠습니다. 아래 코드를 참조하십시오.
rn = randi(15,3,3)
출력:
rn =
6 1 8
11 12 14
3 8 10
행렬은 1에서 15 사이의 임의의 정수를 포함하는 3x3 크기입니다. 또한 특정 범위 사이에서 임의의 정수를 생성 할 수 있으며의 첫 번째 인수로 상자 괄호 안에 범위를 전달하면됩니다. randi()
함수. 예를 들어 -10에서 10 사이의 10 개의 난수를 생성 해 보겠습니다. 아래 코드를 참조하십시오.
rn = randi([-10,10],10,1)
출력:
rn =
2
8
6
2
-7
-5
8
-10
0
-7
-10에서 10까지의 범위에는 10 개의 난수가 있습니다.randi()
함수에 데이터 유형 이름을 전달하여 정수의 데이터 유형을 정의 할 수도 있습니다. 선택할 수있는 데이터 유형은'single'
,'double'
,'int8'
,'uint8'
,'int16'
,'uint16'
,'int32'
입니다. , 또는'uint32'
. size()
함수를 사용하여 기존 배열의 크기에서 난수 크기를 정의하고like
속성을 사용하여 숫자 데이터 유형을 정의 할 수 있습니다. 예를 들어 기존 배열의 크기와 숫자 데이터 유형에 따라 임의 값의 행렬을 생성 해 보겠습니다. 아래 코드를 참조하십시오.
v = [1 2; 6 7]
rn = randi(7,size(v),'like',v)
출력:
v =
1 2
6 7
rn =
6 1
7 7
배열의 크기와 데이터 유형과 난수는 동일합니다. randi()
함수에 대한 자세한 내용은이 링크를 확인하십시오.
MATLAB에서randn()
함수를 사용하여 난수 생성
정규 분포 난수를 생성하려면 MATLAB에서randn()
함수를 사용할 수 있습니다. randn()
함수는 분포 유형의 차이 만있는rand()
함수와 동일합니다. rand()
함수는 균일하게 분포 된 난수를 생성하는 반면randn()
함수는 정규 분포 된 난수를 생성합니다. 요구 사항에 따라 이러한 기능을 사용할 수 있습니다. randn
기능에 대한 자세한 내용은이 링크를 확인하십시오.
MATLAB에서randperm()
함수를 사용하여 난수 생성
정수의 임의 순열을 생성하려면 MATLAB에서randperm()
함수를 사용할 수 있습니다. 정수의 임의 순열은 1에서randperm()
함수에서 첫 번째 인수로 정의 할 수있는 특정 숫자 사이입니다. 함수의 두 번째 인수로 생성하려는 정수의 수를 정의 할 수도 있습니다. 예를 들어, 6 개의 고유 한 정수의 임의 순열을 생성 해 보겠습니다. 아래 코드를 참조하십시오.
rn = randperm(10,5)
출력:
rn =
2 3 10 8 7
모든 정수는 고유하며 범위는 1부터 10까지입니다.randperm()
함수는randperm()
이 고유 한 정수를 생성하는 반면randperm()
함수는randi()
함수와 동일합니다. randi()
함수를 사용하면 정수를 반복 할 수 있습니다. randperm
기능에 대한 자세한 내용은이 링크를 확인하십시오.
MATLAB에서betarnd()
함수를 사용하여 난수 생성
베타 분포에서 난수를 생성하려는 경우 MATLAB에서betarnd()
함수를 사용할 수 있습니다. 이 함수는 첫 번째 및 두 번째 인수 (동일한 크기의 벡터, 행렬 또는 배열)로 지정된 임의의 정수를 생성합니다. 예를 들어, 2 개의 벡터를 입력으로 사용하여 베타 분포에서 난수로 구성된 1x5 행렬을 생성 해 보겠습니다. 아래 코드를 참조하십시오.
a = [1 2 3 4 5];
b = [9 8 7 6 5];
rn = betarnd(a,b)
출력:
rn =
0.1234 0.1847 0.3334 0.2689 0.3678
betarnd()
함수의 세 번째 및 네 번째 인수에 정의하여 출력 행렬의 크기를 지정할 수도 있습니다. betarnd()
함수에 대한 자세한 내용은이 링크를 확인하십시오.
MATLAB에서random()
함수를 사용하여 난수 생성
지정된 분포 유형에서 난수를 생성하려는 경우 MATLAB에서random()
함수를 사용할 수 있습니다. 분포의 이름을 첫 번째 인수로 정의하고 그 후에 분포 매개 변수를 전달해야합니다. 예를 들어,random()
함수를 사용하여 시그마 값 0과 mu 값 1을 사용하여 정규 분포 된 난수를 생성 해 보겠습니다. 아래 코드를 참조하십시오.
s = 0;
m = 1;
rn = random('Normal',s,m)
출력:
rn =
-0.1649
함수에서 필요한 배포 이름을 정의 할 수 있습니다. Beta
,Binomial
,Exponential
,Gamma
등과 같은 다양한 유형의 분포를 사용할 수 있습니다. random
기능에 대한 자세한 내용은이 링크를 확인하십시오.