이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

randi

균일하게 분포된 정수형 의사 난수

구문

X = randi(imax)
X = randi(imax,n)
X = randi(imax,sz1,...,szN)
X = randi(imax,sz)
X = randi(imax,classname)
X = randi(imax,n,classname)
X = randi(imax,sz1,...,szN,classname)
X = randi(imax,sz,classname)
X = randi(imax,'like',p)
X = randi(imax,n,'like',p)
X = randi(imax,sz1,...,szN,'like',p)
X = randi(imax,sz,'like',p)
X = randi([imin,imax],___)

설명

X = randi(imax)1imax 사이의 정수형 의사 난수 스칼라를 반환합니다.

예제

X = randi(imax,n)은 구간 [1,imax]의 이산 균등분포에서 추출한 정수형 의사 난수로 구성된 nxn 행렬을 반환합니다.

예제

X = randi(imax,sz1,...,szN)sz1x...xszN 배열을 반환합니다. 여기서 sz1,...,szN은 각 차원의 크기를 나타냅니다. 예를 들어, randi(10,3,4)는 1과 10 사이의 정수형 의사 난수로 구성된 3x4 배열을 반환합니다.

예제

X = randi(imax,sz)는 배열을 반환합니다. 여기서 크기 벡터 szsize(X)를 정의합니다. 예를 들어, randi(10,[3,4])는 1과 10 사이의 정수형 의사 난수로 구성된 3x4 배열을 반환합니다.

X = randi(imax,classname)은 정수형 의사 난수를 반환합니다. 여기서 classname은 데이터형을 지정합니다. classname'single', 'double', 'int8', 'uint8', 'int16', 'uint16', 'int32', 'uint32' 중 하나를 사용할 수 있습니다.

X = randi(imax,n,classname)classname 데이터형의 nxn 배열을 반환합니다.

예제

X = randi(imax,sz1,...,szN,classname)classname 데이터형의 sz1x...xszN 배열을 반환합니다.

X = randi(imax,sz,classname)은 배열을 반환합니다. 여기서 크기 벡터 szsize(X)를 정의하고 classnameclass(X)를 정의합니다.

X = randi(imax,'like',p)는 데이터형(클래스)이 p와 같은 정수형 의사 난수를 반환합니다.

X = randi(imax,n,'like',p)p와 같은 nxn 배열을 반환합니다.

X = randi(imax,sz1,...,szN,'like',p)p와 같은 sz1x...xszN 배열을 반환합니다.

예제

X = randi(imax,sz,'like',p)p와 같은 배열을 반환합니다. 여기서 크기 벡터 szsize(X)를 정의합니다.

X = randi([imin,imax],___)는 구간 [imin,imax]의 이산 균등분포에서 추출된 정수가 포함된 배열을 반환합니다. 위에 열거된 구문에 사용할 수 있습니다.

예제

모두 축소

1과 10 사이의 정수형 난수로 구성된 5x5 행렬을 생성합니다. randi에 대한 첫 번째 입력값은 샘플링 구간 내의 최대 정수를 나타냅니다(구간 내의 최소 정수는 1).

r = randi(10,5)
r = 5×5

     9     1     2     2     7
    10     3    10     5     1
     2     6    10    10     9
    10    10     5     8    10
     7    10     9    10     7

샘플링 구간 [-5,5]에서 균등하게 분포된 정수형 난수로 구성된 10x1 열 벡터를 생성합니다.

r = randi([-5,5],10,1)
r = 10×1

     3
     4
    -4
     5
     1
    -4
    -2
     1
     5
     5

난수 생성기의 현재 상태를 저장하고 정수형 난수로 구성된 1x5 벡터를 생성합니다.

s = rng;
r = randi(10,1,5)
r = 1×5

     9    10     2    10     7

난수 생성기의 상태를 s로 복원한 다음, 정수형 난수로 구성된 1x5 벡터를 새로 생성합니다. 값은 이전과 동일합니다.

rng(s);
r1 = randi(10,1,5)
r1 = 1×5

     9    10     2    10     7

난수 생성기의 설정을 지정하려면 randrandn 함수 대신 항상 rng 함수를 사용하십시오. 자세한 내용은 권장되지 않는 rand 구문과 randn 구문 대체하기 항목을 참조하십시오.

1과 500 사이에서 균등하게 분포된 정수형 난수로 구성된 3x2x3 배열을 생성합니다.

X = randi(500,[3,2,3])
X = 
X(:,:,1) =

   408   457
   453   317
    64    49


X(:,:,2) =

   140   483
   274    79
   479   486


X(:,:,3) =

   479    71
   243   211
   401   458

요소가 int16형인 난수로 구성된 1x4 벡터를 만듭니다.

r = randi(100,1,4,'int16')
r = 1x4 int16 row vector

   82   91   13   92

class(r)
ans = 
'int16'

기존 배열과 동일한 크기이며 1과 10 사이에서 균등하게 분포된 정수형 난수로 구성된 행렬을 생성합니다.

A = [3 2; -2 1];
sz = size(A);
X = randi(10,sz)
X = 2×2

     9     2
    10    10

앞의 두 코드 라인을 단일 라인으로 결합하는 것이 보통입니다.

X = randi(10,size(A));

부호 있는 8비트 정수로 구성된 2x2 행렬을 생성합니다.

p = int8([3 2; -2 1]);

크기 및 데이터형이 p와 같은 정수형 난수로 구성된 배열을 만듭니다.

X = randi(10,size(p),'like',p)
X = 2x2 int8 matrix

    9    2
   10   10

class(X)
ans = 
'int8'

입력 인수

모두 축소

샘플 구간 내 최대 정수로, 양의 정수로 지정됩니다. randi는 샘플 구간 [1,imax]의 균등분포에서 값을 추출합니다.

예: randi(10,5)

샘플 구간 내 최소 정수로, 정수 스칼라로 지정됩니다.

iminimax 모두 iminimax를 충족하는 정수여야 합니다.

예를 들어, randi([50,100],5)는 50과 100을 포함하여 50과 100 사이의 정수형 난수로 구성된 5x5 행렬을 반환합니다.

정사각 행렬의 크기로, 정수 값으로 지정됩니다.

  • n0이면 X는 빈 행렬이 됩니다.

  • n이 음수이면 0으로 처리됩니다.

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

각 차원의 크기로, 정수 값으로 구성된 개별 인수로 지정됩니다.

  • 크기가 0인 차원이 있을 경우 X는 빈 배열이 됩니다.

  • 크기가 음수인 차원이 있을 경우 0으로 처리됩니다.

  • randi는 세 번째 차원부터는 크기가 1인 차원을 무시합니다. 예를 들어, randi([5,10],3,1,1,1)은 5와 10 사이의 정수형 난수로 구성된 3x1 벡터를 생성합니다.

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

각 차원의 크기로, 정수 값으로 구성된 행 벡터로 지정됩니다. 이 벡터의 요소는 각각 해당하는 차원의 크기를 나타냅니다.

  • 크기가 0인 차원이 있을 경우 X는 빈 배열이 됩니다.

  • 크기가 음수인 차원이 있을 경우 0으로 처리됩니다.

  • randi는 세 번째 차원부터는 크기가 1인 차원을 무시합니다. 예를 들어, randi([5,10],[3,1,1,1])은 5와 10 사이의 정수형 난수로 구성된 3x1 벡터를 생성합니다.

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

출력값 클래스로, 'double', 'single', 'int8', 'uint8', 'int16', 'uint16', 'int32', 'uint32' 또는 randi를 지원하는 다른 클래스의 이름으로 지정됩니다.

예: randi(5,5,'int8')

데이터형: char

생성할 배열의 프로토타입으로, 숫자형 배열로 지정됩니다.

예: randi(5,5,'like',p)

데이터형: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32
복소수 지원 여부:

  • randi가 생성하는 수열은 rand, randi, randn의 기반이 되는 균일 의사 난수 생성기의 내부 설정에 의해 결정됩니다. rng를 사용하여 이 공유 난수 생성기를 제어할 수 있습니다.

  • randi가 반환한 배열에 정수 값이 반복적으로 포함될 수 있습니다. 이러한 동작을 복원 추출(Sampling With Replacement)이라 일컫기도 합니다. 모두 고유한 값이 필요하면 randperm을 사용하십시오.

확장 기능

R2008b에 개발됨