Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

randi

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

설명

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

예제

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

예제

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

예제

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

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

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

예제

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

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

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

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

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

예제

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

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

X = randi(s,___)는 디폴트 전역 스트림 대신 난수 스트림 s에서 정수를 생성합니다. 스트림을 만들려면 RandStream 함수를 사용하십시오. s를 지정하고 뒤이어 위에 열거된 구문에 나와 있는 인수 조합을 지정합니다. 단, 'like'가 사용된 인수는 예외입니다. 이 구문은 'like' 입력값을 지원하지 않습니다.

예제

모두 축소

1과 10 사이의 정수형 난수로 구성된 5×5 행렬을 생성합니다. 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]에서 균등하게 분포된 정수형 난수로 구성된 10×1 열 벡터를 생성합니다.

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

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

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

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

     9    10     2    10     7

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

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

     9    10     2    10     7

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

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

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형인 난수로 구성된 1×4 벡터를 만듭니다.

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비트 정수로 구성된 2×2 행렬을 생성합니다.

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 사이의 정수형 난수로 구성된 5×5 행렬을 반환합니다.

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

  • 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 사이의 정수형 난수로 구성된 3×1 벡터를 생성합니다.

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

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

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

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

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

데이터형: 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

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

예: s = RandStream('dsfmt19937'); randi(s,[5,10],[3 1])

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

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

확장 기능

R2008b에 개발됨