Main Content

셀형 배열 만들기

셀형 배열은 여러 다른 유형과 크기의 데이터를 저장할 수 있습니다. 과거에 셀형 배열은 텍스트 데이터인 경우와 여러 다른 유형의 데이터가 포함된 테이블 형식 데이터(예: 스프레드시트의 데이터)인 경우에 사용하도록 권장되었습니다. 이제는 텍스트 데이터를 저장하려면 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}

참고 항목

관련 항목