셀형 배열 만들기
셀형 배열은 여러 다른 유형과 크기의 데이터를 저장할 수 있습니다. 과거에 셀형 배열은 텍스트 데이터인 경우와 여러 다른 유형의 데이터가 포함된 테이블 형식 데이터(예: 스프레드시트의 데이터)인 경우에 사용하도록 권장되었습니다. 이제는 텍스트 데이터를 저장하려면 string
배열을 사용하고, 테이블 형식 데이터를 저장하려면 table
을 사용합니다. 이종 데이터는 배열 내 위치로 참조하는 게 제일 좋으므로 이종 데이터에 대해 셀형 배열을 사용합니다.
셀형 배열은 두 가지 방법, 즉 {}
연산자를 사용하거나 cell
함수를 사용하여 생성할 수 있습니다.
데이터를 셀형 배열에 추가하려면 셀형 배열 생성 연산자 {}
를 사용합니다.
C = {1,2,3;
'text',rand(5,10,2),{11; 22; 33}}
C=2×3 cell array
{[ 1]} {[ 2]} {[ 3]}
{'text'} {5x10x2 double} {3x1 cell}
모든 MATLAB® 배열과 마찬가지로, 셀형 배열은 각 행의 셀 개수가 동일한 사각형입니다. C
는 2×3 셀형 배열입니다.
{}
연산자를 사용하여 빈 0×0 셀형 배열을 생성할 수도 있습니다.
C2 = {}
C2 = 0x0 empty cell array
시간 경과에 따라 또는 루프에서 셀형 배열에 값을 추가하려면 먼저 cell
함수를 사용하여 빈 배열을 생성하십시오. 이 접근 방식은 셀형 배열 헤더에 사용할 메모리를 사전할당합니다. 각 셀에는 빈 배열 []
이 포함되어 있습니다.
C3 = cell(3,4)
C3=3×4 cell array
{0x0 double} {0x0 double} {0x0 double} {0x0 double}
{0x0 double} {0x0 double} {0x0 double} {0x0 double}
{0x0 double} {0x0 double} {0x0 double} {0x0 double}
특정 셀에서 읽거나 특정 셀에 쓰려면 인덱스를 중괄호로 묶습니다. 예를 들어, C3
을 임의의 데이터로 구성된 배열로 채워 보겠습니다. 셀형 배열에서의 위치에 따라 배열 크기를 다르게 합니다.
for row = 1:3 for col = 1:4 C3{row,col} = rand(row*10,col*10); end end C3
C3=3×4 cell array
{10x10 double} {10x20 double} {10x30 double} {10x40 double}
{20x10 double} {20x20 double} {20x30 double} {20x40 double}
{30x10 double} {30x20 double} {30x30 double} {30x40 double}