reshape
기존 요소를 재배열하여 배열 형태 변경
설명
은 B
= reshape(A
,sz1,...,szN
)A
를 sz1
×...
×szN
배열로 형태 변경합니다. 여기서 sz1,...,szN
은 각 차원의 크기를 나타냅니다. 단일 차원 크기 []
을 지정하면, B
의 요소 개수와 A
의 요소 개수가 일치하도록 차원 크기가 자동으로 계산됩니다. 예를 들어, A
가 10×10 행렬인 경우 reshape(A,2,2,[])
은 A
의 요소 100개를 2×2×25 배열로 형태 변경합니다.
예제
벡터를 행렬로 형태 변경
지정된 열 개수를 갖도록 행렬 형태 변경
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
입력 인수
A
— 입력 배열
벡터 | 행렬 | 다차원 배열
입력 배열로, 벡터, 행렬, 다차원 배열 중 하나로 지정됩니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
| string
| cell
| struct
| datetime
| duration
| calendarDuration
복소수 지원 여부: 예
sz
— 출력 크기
정수로 이루어진 행 벡터
출력 크기로, 정수로 구성된 행 벡터로 지정됩니다. sz
의 각 요소는 B
의 해당하는 차원의 크기를 나타냅니다. A
와 B
의 요소 개수가 같도록 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])
sz1,...,szN
— 각 차원의 크기
2개 이상의 정수 | []
(선택 사항)
각 차원의 크기로, 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
— 형태 변경된 배열
벡터 | 행렬 | 다차원 배열 | 셀형 배열
형태 변경된 배열로, 벡터, 행렬, 다차원 배열, 셀형 배열 중 하나로 반환됩니다. B
의 데이터형 및 요소 개수는 A
의 데이터형 및 요소 개수와 동일합니다. B
의 요소는 A
의 열을 기준으로 한 요소의 순서를 그대로 유지합니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
| string
| cell
| datetime
| duration
| calendarDuration
팁
reshape
함수는 입력 데이터의 기존 요소를 재배열합니다. 요소를 추가하거나 제거하려면resize
함수를 사용하십시오.
확장 기능
tall형 배열
메모리에 담을 수 없을 정도로 많은 행을 가진 배열을 계산할 수 있습니다.
이 함수는 tall형 배열을 지원하지만 다음과 같은 제한 사항이 있습니다.
tall 차원(차원 1)은 형태 변경할 수 없습니다. 첫 번째 차원 입력값은 항상 비어 있어야 합니다(예:
reshape(X,[],M,N,...)
).
자세한 내용은 메모리에 담을 수 없는 큰 데이터를 위한 tall형 배열 항목을 참조하십시오.
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
입력값이 컴파일타임 빈 셀형 배열인 경우 크기 인수는 상수여야 합니다.
크기 인수는 고정된 크기를 가져야 합니다.
Variable-Sizing Restrictions for Code Generation of Toolbox Functions (MATLAB Coder) 항목을 참조하십시오.
희소 행렬의 경우
reshape
함수는 처음 2개 차원 이후의 차원은 입력값으로 지원하지 않습니다.
GPU 코드 생성
GPU Coder™를 사용하여 NVIDIA® GPU용 CUDA® 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
입력값이 컴파일타임 빈 셀형 배열인 경우 크기 인수는 상수여야 합니다.
크기 인수는 고정된 크기를 가져야 합니다.
희소 행렬의 경우
reshape
함수는 처음 2개 차원 이후의 차원은 입력값으로 지원하지 않습니다.
HDL 코드 생성
HDL Coder™를 사용하여 FPGA 및 ASIC 설계를 위한 VHDL, Verilog 및 SystemVerilog 코드를 생성할 수 있습니다.
스레드 기반 환경
MATLAB®의 backgroundPool
을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool
을 사용해 코드 실행 속도를 높일 수 있습니다.
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
GPU 배열
Parallel Computing Toolbox™를 사용해 GPU(그래픽스 처리 장치)에서 실행하여 코드 실행 속도를 높일 수 있습니다.
이 함수는 GPU 배열을 완전히 지원합니다. 자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
분산 배열
Parallel Computing Toolbox™를 사용하여 대규모 배열을 클러스터의 결합된 메모리에 걸쳐 분할할 수 있습니다.
이 함수는 분산 배열을 완전히 지원합니다. 자세한 내용은 분산 배열을 사용하여 MATLAB 함수 실행 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)