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

reshape

배열 형태 변경(reshape)

구문

B = reshape(A,sz)
B = reshape(A,sz1,...,szN)

설명

예제

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

예제

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

예제

모두 축소

1x10 벡터를 5x2 행렬로 형태 변경합니다.

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

     1     6
     2     7
     3     8
     4     9
     5    10

4x4 정사각 행렬을 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

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

0으로 구성된 3x2x3 배열을 9x2 행렬로 형태 변경합니다.

A = zeros(3,2,3);
B = reshape(A,9,2)
B = 9×2

     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0

입력 인수

모두 축소

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

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

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

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

예: 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)은 3x2 행렬을 생성합니다.

예: reshape(A,3,2)

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

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

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

출력 인수

모두 축소

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

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

확장 기능

참고 항목

| | | |

R2006a 이전에 개발됨