Main Content

repmat

배열의 복사본을 반복함

설명

예제

B = repmat(A,n)A의 복사본 n개를 포함하는 배열을 행과 열 차원으로 반환합니다. A가 행렬인 경우 B의 크기는 size(A)*n입니다.

예제

B = repmat(A,r1,...,rN)A의 복사본이 각 차원을 따라 어떻게 배열되는지 설명하는, 스칼라 목록 r1,..,rN을 지정합니다. AN차원일 경우 B의 크기는 size(A).*[r1...rN]입니다. 예를 들어, repmat([1 2; 3 4],2,3)은 4×6 행렬을 반환합니다.

예제

B = repmat(A,r)은 행 벡터 r을 사용하여 반복 방식을 지정합니다. 예를 들어, repmat(A,[2 3])repmat(A,2,3)과 동일한 결과를 반환합니다.

예제

모두 축소

요소의 값이 10인 3×2 행렬을 생성합니다.

A = repmat(10,3,2)
A = 3×2

    10    10
    10    10
    10    10

행렬의 복사본을 2×2 블록 배열이 되도록 반복합니다.

A = diag([100 200 300])
A = 3×3

   100     0     0
     0   200     0
     0     0   300

B = repmat(A,2)
B = 6×6

   100     0     0   100     0     0
     0   200     0     0   200     0
     0     0   300     0     0   300
   100     0     0   100     0     0
     0   200     0     0   200     0
     0     0   300     0     0   300

행렬의 복사본을 2×3 블록 배열이 되도록 반복합니다.

A = diag([100 200 300])
A = 3×3

   100     0     0
     0   200     0
     0     0   300

B = repmat(A,2,3)
B = 6×9

   100     0     0   100     0     0   100     0     0
     0   200     0     0   200     0     0   200     0
     0     0   300     0     0   300     0     0   300
   100     0     0   100     0     0   100     0     0
     0   200     0     0   200     0     0   200     0
     0     0   300     0     0   300     0     0   300

행렬의 복사본을 2×3×2 블록 배열이 되도록 반복합니다.

A = [1 2; 3 4]
A = 2×2

     1     2
     3     4

B = repmat(A,[2 3 2])
B = 
B(:,:,1) =

     1     2     1     2     1     2
     3     4     3     4     3     4
     1     2     1     2     1     2
     3     4     3     4     3     4


B(:,:,2) =

     1     2     1     2     1     2
     3     4     3     4     3     4
     1     2     1     2     1     2
     3     4     3     4     3     4

행 벡터를 세로로 네 번 누적시킵니다.

A = 1:4;
B = repmat(A,4,1)
B = 4×4

     1     2     3     4
     1     2     3     4
     1     2     3     4
     1     2     3     4

열 벡터를 가로로 네 번 누적시킵니다.

A = (1:3)';  
B = repmat(A,1,4)
B = 3×4

     1     1     1     1
     2     2     2     2
     3     3     3     3

변수 AgeHeight를 포함하는 테이블을 만듭니다.

A = table([39; 26],[70; 63],'VariableNames',{'Age' 'Height'})
A=2×2 table
    Age    Height
    ___    ______

    39       70  
    26       63  

테이블의 복사본을 2×3 블록 형식으로 반복합니다.

B = repmat(A,2,3)
B=4×6 table
    Age    Height    Age_1    Height_1    Age_2    Height_2
    ___    ______    _____    ________    _____    ________

    39       70       39         70        39         70   
    26       63       26         63        26         63   
    39       70       39         70        39         70   
    26       63       26         63        26         63   

repmat는 테이블의 항목을 반복하고 새 변수 이름에 번호를 추가합니다.

두 개의 열 벡터를 만듭니다.

A = [1; 3; 5];
B = [2; 4];

repelemrepmat를 사용하여 두 벡터의 모든 요소 조합을 생성합니다. 출력값 T의 각 행은 첫 번째 벡터에서 첫 번째 요소와 두 번째 벡터의 두 번째 요소의 조합입니다. 이 명령은 두 벡터의 카테시안 곱을 구하는 것과 동일합니다.

T = [repelem(A,numel(B)) repmat(B,numel(A),1)]
T = 6×2

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

R2023a부터는 combinations 함수를 사용하여 두 벡터의 모든 요소 조합을 생성할 수도 있습니다.

T = combinations(A,B)
T=6×2 table
    A    B
    _    _

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

입력 인수

모두 축소

입력 배열로, 스칼라, 벡터, 행렬, 다차원 배열 중 하나로 지정됩니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | struct | table | datetime | duration | calendarDuration | categorical | cell
복소수 지원 여부:

행과 열 차원에서 입력 배열을 반복할 횟수로, 정수 값으로 지정됩니다. n0이거나 음수이면 결과는 빈 배열이 됩니다.

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

각 차원의 반복 인자로, 개별 인수가 정수 값으로 지정됩니다. 반복 인자가 하나라도 0이거나 음수이면 결과는 빈 배열이 됩니다.

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

각 차원의 반복 인자로 구성된 벡터로, 정수 값으로 구성된 행 벡터로 지정됩니다. r의 값 중 하나라도 0이거나 음수이면 결과는 빈 배열이 됩니다.

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

  • 1로 구성된 배열과 입력값의 텐서 곱을 구성하여 블록 배열을 생성하려면 kron을 사용하십시오. 예를 들어, 행 벡터 A = 1:3을 세로로 네 번 누적시키려면 B = kron(A,ones(4,1))을 사용할 수 있습니다.

  • 단일 통과 방식으로 블록 배열을 만들고 이항 연산을 수행하려면 bsxfun을 사용하십시오. 경우에 따라 bsxfun은 더 간단하고 메모리 효율적인 해를 제공합니다. 예를 들어, 벡터 A = 1:5B = (1:10)'을 추가하여 10×5 배열을 생성하려면 repmat(A,10,1) + repmat(B,1,5) 대신 bsxfun(@plus,A,B)를 사용하십시오.

  • A가 특정 유형의 스칼라이면 다른 함수를 사용하여 repmat과 동일한 결과를 얻을 수 있습니다.

    repmat 구문대응하는 대체 구문
    repmat(NaN,m,n)NaN(m,n)
    repmat(single(inf),m,n)inf(m,n,'single')
    repmat(int8(0),m,n)zeros(m,n,'int8')
    repmat(uint32(1),m,n)ones(m,n,'uint32')
    repmat(eps,m,n)eps(ones(m,n))

확장 기능

HDL 코드 생성
HDL Coder™를 사용하여 FPGA 및 ASIC 설계를 위한 VHDL, Verilog 및 SystemVerilog 코드를 생성할 수 있습니다.

버전 내역

R2006a 이전에 개발됨

모두 확장

참고 항목

| | | | | | |