셀형 배열에서 셀 추가 또는 삭제하기
셀형 배열은 확장, 결합, 삭제에 대해 다른 유형의 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' }
셀 결합하기
셀은 어떠한 유형이나 크기의 데이터도 포함할 수 있으므로 셀을 결합하거나 여러 셀에서 동시에 데이터를 추출하려면 데이터가 호환되어야 합니다. 자세한 내용과 예제는 셀형 배열의 데이터에 액세스하기 항목을 참조하십시오.