Main Content

셀형 배열에서 셀 추가 또는 삭제하기

셀형 배열은 확장, 결합, 삭제에 대해 다른 유형의 MATLAB® 배열과 동일한 기본 규칙을 따릅니다. 그러나 두 가지 방법으로 셀형 배열의 요소를 참조할 수 있습니다. 하나는 중괄호 {}를 사용하여 셀 내용에 액세스하는 것이고 다른 하나는 괄호 ()를 사용하여 셀 자체를 참조하는 것입니다. 셀형 배열에서 셀을 추가, 삭제 또는 결합할 때 이 둘의 차이점을 유의하십시오.

셀 추가하기

셀형 배열을 확장하는 일반적인 방법은 셀형 배열을 세로 또는 가로로 결합하는 것입니다. 표준 대괄호 결합 연산자 []를 사용합니다. 세로 결합의 경우 세미콜론으로, 가로 결합의 경우 쉼표로 요소를 구분합니다.

C1 = {'one',2};
C2 = {ones(3,3),'four'};

C = [C1; C2]
C=2×2 cell array
    {'one'     }    {[   2]}
    {3x3 double}    {'four'}

C_horz = [C1,C2]
C_horz=1×4 cell array
    {'one'}    {[2]}    {3x3 double}    {'four'}

셀형 배열과 셀형이 아닌 배열을 결합하면 셀형이 아닌 배열이 단일 셀로 묶입니다. 따라서 셀형 배열은 벡터여야 합니다.

A = [1 2 3; 4 5 6];
C3 = [C1,A]
C3=1×3 cell array
    {'one'}    {[2]}    {2x3 double}

셀형이 아닌 배열에서 개별 셀을 만들려면 num2cell을 사용하면 됩니다.

C4 = [C,num2cell(A)]
C4=2×5 cell array
    {'one'     }    {[   2]}    {[1]}    {[2]}    {[3]}
    {3x3 double}    {'four'}    {[4]}    {[5]}    {[6]}

셀형 배열은 스칼라 확장도 지원합니다. 즉, 기존 배열 외부의 셀 내용에 값을 할당하면 이 값을 포함하도록 배열이 확장됩니다. 확장된 배열은 사각형 배열이며 중간에 포함된 모든 셀은 빈 숫자형 배열을 포함합니다. 셀의 내용을 할당할 때는 중괄호를 사용합니다.

C{3,3} = 9
C=3×3 cell array
    {'one'     }    {[       2]}    {0x0 double}
    {3x3 double}    {'four'    }    {0x0 double}
    {0x0 double}    {0x0 double}    {[       9]}

C{end,end+1} = []
C=3×4 cell array
    {'one'     }    {[       2]}    {0x0 double}    {0x0 double}
    {3x3 double}    {'four'    }    {0x0 double}    {0x0 double}
    {0x0 double}    {0x0 double}    {[       9]}    {0x0 double}

셀의 내용을 바꾸려면 중괄호를 사용하여 셀형 배열을 정의한 다음 괄호를 사용하여 상응하는 크기의 셀 집합에 할당합니다.

C(3,:) = {'replacement', rand(2,2), 42, 'row'}
C=3×4 cell array
    {'one'        }    {[       2]}    {0x0 double}    {0x0 double}
    {3x3 double   }    {'four'    }    {0x0 double}    {0x0 double}
    {'replacement'}    {2x2 double}    {[      42]}    {'row'     }

셀 삭제하기

셀형 배열의 행이나 열을 제거하는 구문은 다른 MATLAB 배열에 사용하는 구문과 동일합니다. 해당 셀을 빈 대괄호에 대응하는 쌍으로 설정합니다. 예를 들어, C의 두 번째 행을 제거해 보겠습니다.

C(2,:) = []
C=2×4 cell array
    {'one'        }    {[       2]}    {0x0 double}    {0x0 double}
    {'replacement'}    {2x2 double}    {[      42]}    {'row'     }

인덱스를 중괄호로 묶으면 셀 내용이 빈 배열로 바뀝니다.

C{1,1} = []
C=2×4 cell array
    {0x0 double   }    {[       2]}    {0x0 double}    {0x0 double}
    {'replacement'}    {2x2 double}    {[      42]}    {'row'     }

셀 결합하기

셀은 어떠한 유형이나 크기의 데이터도 포함할 수 있으므로 셀을 결합하거나 여러 셀에서 동시에 데이터를 추출하려면 데이터가 호환되어야 합니다. 자세한 내용과 예제는 셀형 배열의 데이터에 액세스하기 항목을 참조하십시오.

관련 항목