cat
배열 결합
설명
예제
두 행렬
두 행렬을 세로로 결합한 다음 가로로 결합합니다.
두 행렬을 만들고 두 번째 행렬을 첫 번째 행렬에 세로로 추가합니다.
A = ones(3)
A = 3×3
1 1 1
1 1 1
1 1 1
B = zeros(3)
B = 3×3
0 0 0
0 0 0
0 0 0
C1 = cat(1,A,B)
C1 = 6×3
1 1 1
1 1 1
1 1 1
0 0 0
0 0 0
0 0 0
이제 두 번째 행렬을 첫 번째 행렬에 가로로 추가합니다.
C2 = cat(2,A,B)
C2 = 3×6
1 1 1 0 0 0
1 1 1 0 0 0
1 1 1 0 0 0
3차원 배열
두 개의 3차원 배열을 만들고 세 번째 차원을 따라 결합합니다. 결과 배열에서 첫 번째 차원과 두 번째 차원의 길이는 입력 배열의 대응하는 길이와 일치하고, 세 번째 차원은 확장됩니다.
A = rand(2,3,4); B = rand(2,3,5); C = cat(3,A,B); szC = size(C)
szC = 1×3
2 3 9
테이블 확장하기
테이블을 만들고 셀형 배열을 사용하여 행을 추가합니다.
LastName = {'Sanchez';'Johnson';'Li';'Diaz'}; Age = [38;43;38;40]; T1 = table(LastName,Age)
T1=4×2 table
LastName Age
___________ ___
{'Sanchez'} 38
{'Johnson'} 43
{'Li' } 38
{'Diaz' } 40
Trow = {'Brown',49};
T2 = cat(1,T1,Trow)
T2=5×2 table
LastName Age
___________ ___
{'Sanchez'} 38
{'Johnson'} 43
{'Li' } 38
{'Diaz' } 40
{'Brown' } 49
다양한 유형의 날짜
날짜 문자형 벡터, string형 날짜, datetime형을 날짜로 구성된 하나의 열로 결합합니다. 결과는 datetime형 벡터가 됩니다.
chardate = '2016-03-24'; strdate = "2016-04-19"; t = datetime('2016-05-10','InputFormat','yyyy-MM-dd'); C = cat(1,chardate,strdate,t)
C = 3x1 datetime
24-Mar-2016
19-Apr-2016
10-May-2016
셀형 배열의 행렬
두 행렬을 포함하는 셀형 배열을 만들고 두 행렬을 세로 방향과 가로 방향으로 결합합니다.
M1 = [1 2; 3 4]; M2 = [5 6; 7 8]; A1 = {M1,M2}; Cvert = cat(1,A1{:})
Cvert = 4×2
1 2
3 4
5 6
7 8
Chorz = cat(2,A1{:})
Chorz = 2×4
1 2 5 6
3 4 7 8
입력 인수
dim
— 연산을 수행할 차원
양의 정수 스칼라
연산을 수행할 차원으로, 양의 정수 스칼라로 지정됩니다. 예를 들어, A
와 B
가 모두 2×2 행렬이면 cat(1,A,B)
는 세로로 결합하여 4×2 행렬을 만들고 cat(2,A,B)
는 가로로 결합하여 2×4 행렬을 만듭니다.
dim
은 입력값이 table형이거나 timetable형인 경우 1이나 2여야 합니다.
A
— 첫 번째 입력값
스칼라 | 벡터 | 행렬 | 다차원 배열 | 테이블 | 타임테이블
첫 번째 입력값으로, 스칼라, 벡터, 행렬, 다차원 배열, table형 또는 timetable형으로 지정됩니다.
B
— 두 번째 입력값
스칼라 | 벡터 | 행렬 | 다차원 배열 | 테이블 | 타임테이블
두 번째 입력값으로, 스칼라, 벡터, 행렬, 다차원 배열, table형 또는 timetable형으로 지정됩니다.
B
의 요소는 연산 차원을 따라 첫 번째 입력값의 끝에 결합됩니다. 입력 인수는 크기가 서로 호환되어야 합니다. 예를 들어, 첫 번째 입력값이 3×2 행렬이면B
는 세로로 결합하려는 경우 열이 2개여야 하고, 가로로 결합하려는 경우 행이 3개여야 합니다.가로로 결합하려는 입력 테이블은 서로 고유한 변수 이름을 가져야 합니다. 행 이름은(있는 경우) 순서 무관하게 동일해야 합니다. 마찬가지로, 타임테이블 입력값은 행 시간값이 동일해야 하고 모든 열은 이름이 서로 달라야 합니다.
서로 다른 유형의 유효한 조합을 결합할 수 있습니다. 자세한 내용은 서로 다른 클래스(데이터형)의 유효한 결합 항목을 참조하십시오.
A1,A2,…,An
— 입력값 목록
쉼표로 구분된 목록(CSV)
입력값 목록으로, 배열을 결합할 순서에 따라 쉼표로 구분된 목록으로 지정됩니다.
입력값은 서로 호환되는 크기를 가져야 합니다. 예를 들어,
A1
이 길이가 m인 행 벡터이면 나머지 입력값은 세로로 결합하려는 경우 각각 m개의 열을 가져야 합니다.가로로 결합하려는 입력 테이블은 서로 고유한 변수 이름을 가져야 합니다. 행 이름은(있는 경우) 순서 무관하게 동일해야 합니다. 마찬가지로, 타임테이블 입력값은 행 시간값이 동일해야 하고 모든 열은 이름이 서로 달라야 합니다.
서로 다른 유형의 유효한 조합을 결합할 수 있습니다. 자세한 내용은 서로 다른 클래스(데이터형)의 유효한 결합 항목을 참조하십시오.
팁
알고리즘
비어 있는 배열을 비어 있지 않은 배열에 결합하는 경우, cat
은 비어 있는 배열을 빼고 출력합니다. 예를 들어, cat(2,[1 2],[])
은 행 벡터 [1 2]
를 반환합니다.
모든 입력 인수가 비어 있고 서로 호환되는 크기를 가지면 cat
는 입력값이 비어 있지 않은 경우의 출력값 크기와 동일한 크기를 갖는 비어 있는 배열을 반환합니다. 예를 들어, cat(2,zeros(0,1),zeros(0,2))
는 0×3의 빈 배열을 반환합니다.
확장 기능
tall형 배열
메모리에 담을 수 없을 정도로 많은 행을 가진 배열을 계산할 수 있습니다.
사용법 관련 참고 및 제한 사항:
문자형 배열의 세로 결합은 지원되지 않습니다.
순서형 categorical형 배열의 결합은 지원되지 않습니다.
1차원을 제외한 임의 차원을 결합하려면 모든 입력 인수가 tall형 배열이어야 합니다.
자세한 내용은 tall형 배열 항목을 참조하십시오.
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
dim
을 제공할 경우 그 값은 상수여야 합니다.Variable-Sizing Restrictions for Code Generation of Toolbox Functions (MATLAB Coder) 항목을 참조하십시오.
스레드 기반 환경
MATLAB®의 backgroundPool
을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool
을 사용해 코드 실행 속도를 높일 수 있습니다.
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
GPU 배열
Parallel Computing Toolbox™를 사용해 GPU(그래픽스 처리 장치)에서 실행하여 코드 실행 속도를 높일 수 있습니다.
cat
함수는 GPU 배열을 완전히 지원합니다. GPU에서 이 함수를 실행하려면 입력 데이터를 gpuArray
(Parallel Computing Toolbox)로 지정하십시오. 자세한 내용은 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)