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

rand

균일하게 분포된 난수

설명

예제

X = rand는 구간 (0,1)에 균일하게 분포된 난수 하나를 반환합니다.

예제

X = rand(n)은 난수로 구성된 nxn 행렬을 반환합니다.

예제

X = rand(sz1,...,szN)은 난수로 구성된 sz1x...xszN 배열을 반환합니다. 여기서 sz1,...,szN은 각 차원의 크기를 나타냅니다. 예를 들어, rand(3,4)는 3x4 행렬을 반환합니다.

예제

X = rand(sz)는 난수로 구성된 배열을 반환합니다. 여기서 크기 벡터 szsize(X)를 지정합니다. 예를 들어, rand([3 4])는 3x4 행렬을 반환합니다.

예제

X = rand(___,typename)은 데이터형이 typename인 난수로 구성된 배열을 반환합니다. typename 입력값은 'single' 또는 'double'일 수 있습니다. 위에 열거된 구문의 모든 입력 인수와 사용할 수 있습니다.

예제

X = rand(___,'like',p)p와 같은(즉, p와 동일한 객체 유형의) 난수로 구성된 배열을 반환합니다. typename이나 'like' 중 하나를 지정할 수 있으나, 둘 다 지정할 수는 없습니다.

참고

rand 함수에는 'seed' 입력값, 'state' 입력값, 'twister' 입력값이 권장되지 않습니다. rng 함수를 대신 사용하십시오. 자세한 내용은 권장되지 않는 rand 구문과 randn 구문 대체하기 항목을 참조하십시오.

예제

모두 축소

0과 1 사이의 균일하게 분포된 난수로 구성된 5x5 행렬을 생성합니다.

r = rand(5)
r = 5×5

    0.8147    0.0975    0.1576    0.1419    0.6557
    0.9058    0.2785    0.9706    0.4218    0.0357
    0.1270    0.5469    0.9572    0.9157    0.8491
    0.9134    0.9575    0.4854    0.7922    0.9340
    0.6324    0.9649    0.8003    0.9595    0.6787

구간 (-5,5)에 균일하게 분포된 난수로 구성된 10x1 열 벡터를 생성합니다.

r = -5 + (5+5)*rand(10,1)
r = 10×1

    3.1472
    4.0579
   -3.7301
    4.1338
    1.3236
   -4.0246
   -2.2150
    0.4688
    4.5751
    4.6489

일반적으로 식 r = a + (b-a).*rand(N,1)을 사용하여 구간 (a,b)에 N개의 난수를 생성할 수 있습니다.

rand 대신 randi 함수를 사용하여 10에서 50 사이에 균일하게 분포된 5개의 정수형 난수를 생성합니다.

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

    43    47    15    47    35

구간 (0,1)에 실수부와 허수부가 있는 복소수형 난수 하나를 생성합니다.

a = rand + 1i*rand
a = 0.8147 + 0.9058i

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

s = rng;
r = rand(1,5)
r = 1×5

    0.8147    0.9058    0.1270    0.9134    0.6324

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

rng(s);
r1 = rand(1,5)
r1 = 1×5

    0.8147    0.9058    0.1270    0.9134    0.6324

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

난수로 구성된 3x2x3 배열을 만듭니다.

X = rand([3,2,3])
X = 
X(:,:,1) =

    0.8147    0.9134
    0.9058    0.6324
    0.1270    0.0975


X(:,:,2) =

    0.2785    0.9649
    0.5469    0.1576
    0.9575    0.9706


X(:,:,3) =

    0.9572    0.1419
    0.4854    0.4218
    0.8003    0.9157

단정밀도 요소를 갖는 난수로 구성된 1x4 벡터를 만듭니다.

r = rand(1,4,'single')
r = 1x4 single row vector

    0.8147    0.9058    0.1270    0.9134

class(r)
ans = 
'single'

기존 배열과 동일한 크기의, 난수로 구성된 행렬을 만듭니다.

A = [3 2; -2 1];
sz = size(A);
X = rand(sz)
X = 2×2

    0.8147    0.1270
    0.9058    0.9134

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

X = rand(size(A));

단정밀도 난수로 구성된 2x2 행렬을 만듭니다.

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

p와 크기, 데이터형이 동일한, 난수로 구성된 배열을 만듭니다.

X = rand(size(p),'like',p)
X = 2x2 single matrix

    0.8147    0.1270
    0.9058    0.9134

class(X)
ans = 
'single'

Parallel Computing Toolbox™가 있는 경우 기본 데이터형 single을 사용하여 난수로 구성된 1000x1000 분산 배열을 만듭니다. distributed 데이터형의 경우, 'like' 구문은 주 데이터형뿐만 아니라 기본 데이터형도 복제합니다.

p = rand(1000,'single','distributed');
Starting parallel pool (parpool) using the 'local' profile ...
connected to 6 workers.

p와 크기, 주 데이터형, 기본 데이터형이 동일한, 난수로 구성된 배열을 만듭니다.

X = rand(size(p),'like',p);
class(X)
ans =

distributed
classUnderlying(X)
ans =
single

입력 인수

모두 축소

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

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

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

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

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

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

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

  • rand는 세 번째 차원부터는 크기가 1인 차원을 무시합니다. 예를 들어, rand(3,1,1,1)은 난수로 구성된 3x1 벡터를 생성합니다.

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

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

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

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

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

예: sz = [2,3,4]는 2x3x4 배열을 생성합니다.

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

생성할 데이터형(클래스)으로, 'double', 'single' 또는 rand를 지원하는 다른 클래스의 이름으로 지정됩니다.

예: rand(5,'single')

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

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

데이터형: single | double
복소수 지원 여부:

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

확장 기능

R2006a 이전에 개발됨