Main Content

reshape

기존 요소를 재배열하여 배열 형태 변경

설명

예제

B = reshape(A,sz)size(B)를 정의하는 크기 벡터 sz를 사용하여 A를 형태 변경(reshape)합니다. 예를 들어, reshape(A,[2,3])A를 2×3 행렬로 형태 변경합니다. sz는 적어도 2개의 요소를 포함해야 하고, prod(sz)numel(A)와 동일해야 합니다.

예제

B = reshape(A,sz1,...,szN)Asz1×...×szN 배열로 형태 변경합니다. 여기서 sz1,...,szN은 각 차원의 크기를 나타냅니다. 단일 차원 크기 []을 지정하면, B의 요소 개수와 A의 요소 개수가 일치하도록 차원 크기가 자동으로 계산됩니다. 예를 들어, A가 10×10 행렬인 경우 reshape(A,2,2,[])A의 요소 100개를 2×2×25 배열로 형태 변경합니다.

예제

모두 축소

1×10 벡터를 5×2 행렬로 형태 변경합니다.

A = 1:10;
B = reshape(A,[5,2])
B = 5×2

     1     6
     2     7
     3     8
     4     9
     5    10

4×4 정사각 행렬을 2열 행렬로 형태 변경합니다. 첫 번째 차원에 대해 []을 지정하여 reshape가 적절한 행 개수를 자동으로 계산하도록 합니다.

A = magic(4)
A = 4×4

    16     2     3    13
     5    11    10     8
     9     7     6    12
     4    14    15     1

B = reshape(A,[],2)
B = 8×2

    16     3
     5    10
     9     6
     4    15
     2    13
    11     8
     7    12
    14     1

결과는 원래 행렬과 동일한 요소 개수를 유지하는 8×2 행렬입니다. B의 요소는 A의 열을 기준으로 한 요소의 순서를 그대로 유지합니다.

난수 값으로 구성된 2×2×3 배열을 6×2 행렬로 형태 변경합니다.

rng default
A = rand(2,2,3)
A = 
A(:,:,1) =

    0.8147    0.1270
    0.9058    0.9134


A(:,:,2) =

    0.6324    0.2785
    0.0975    0.5469


A(:,:,3) =

    0.9575    0.1576
    0.9649    0.9706

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

    0.8147    0.2785
    0.9058    0.5469
    0.1270    0.9575
    0.9134    0.9649
    0.6324    0.1576
    0.0975    0.9706

입력 인수

모두 축소

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

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

출력 크기로, 정수로 구성된 행 벡터로 지정됩니다. sz의 각 요소는 B의 해당하는 차원의 크기를 나타냅니다. AB의 요소 개수가 같도록 sz를 지정해야 합니다. 즉, prod(sz)numel(A)와 동일해야 합니다.

두 번째 차원 이후의, 크기가 1인 차원은 출력 인수 B에 반영되지 않습니다. 예를 들어, reshape(A,[3,2,1,1])은 3×2 행렬을 생성합니다.

예: reshape(A,[3,2])

예: reshape(A,[6,4,10])

예: reshape(A,[5,5,5,5])

각 차원의 크기로, 2개 이상의 정수와 최대 1개의 [](선택 사항)로 지정됩니다. 적어도 2개의 차원 크기를 지정해야 하며, 최대 1개의 차원 크기를 []로 지정할 수 있습니다. 그러면 numel(B)numel(A)와 일치하도록 차원의 크기가 자동으로 계산됩니다. []을 사용하여 차원 크기를 자동으로 계산할 경우, 명시적으로 지정하는 차원으로 입력 행렬의 요소 개수 numel(A)를 균등하게 나눠야 합니다.

두 번째 차원 이후의, 크기가 1인 차원은 출력 인수 B에 반영되지 않습니다. 예를 들어, reshape(A,3,2,1,1)은 3×2 행렬을 생성합니다.

예: reshape(A,3,2)

예: reshape(A,6,[],10)

예: reshape(A,2,5,3,[])

예: reshape(A,5,5,5,5)

출력 인수

모두 축소

형태 변경된 배열로, 벡터, 행렬, 다차원 배열, 셀형 배열 중 하나로 반환됩니다. B의 데이터형 및 요소 개수는 A의 데이터형 및 요소 개수와 동일합니다. B의 요소는 A의 열을 기준으로 한 요소의 순서를 그대로 유지합니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | cell | datetime | duration | calendarDuration

  • 입력한 형태 변경 함수는 입력 데이터의 기존 요소를 재배열합니다. 요소를 추가하거나 제거하려면 resize 함수를 사용하십시오.

확장 기능

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

버전 내역

R2006a 이전에 개발됨

참고 항목

| | | | |