Main Content

셀형 배열의 데이터에 액세스하기

이 예제에서는 셀형 배열에서 데이터를 읽고 쓰는 방법을 보여줍니다.

텍스트 데이터와 숫자형 데이터로 구성된 2×3 셀형 배열을 생성합니다.

C = {'one', 'two', 'three'; 
     1, 2, 3}
C=2×3 cell array
    {'one'}    {'two'}    {'three'}
    {[  1]}    {[  2]}    {[    3]}

셀형 배열의 요소를 참조하는 방법으로는 두 가지가 있습니다. 셀 집합을 참조하려면(예를 들어, 배열의 서브셋을 정의하려는 경우) 인덱스를 괄호 ()로 묶으십시오. 개별 셀 내의 텍스트, 숫자 또는 기타 데이터를 참조하려면 인덱스를 중괄호 {}로 묶으십시오.

괄호 ()를 사용하여 셀 인덱싱하기

괄호로 묶인 셀형 배열 인덱스는 셀 집합을 참조합니다. 예를 들어, C의 서브셋인 2×2 셀형 배열을 만들려면 괄호를 사용하십시오.

upperLeft = C(1:2,1:2)
upperLeft=2×2 cell array
    {'one'}    {'two'}
    {[  1]}    {[  2]}

셀 집합을 동일한 개수의 셀로 대체하여 셀 집합을 업데이트합니다. 예를 들어, C의 첫 번째 행에 포함된 셀을 동일한 크기(1×3)의 셀형 배열로 바꿉니다.

C(1,1:3) = {'first','second','third'}
C=2×3 cell array
    {'first'}    {'second'}    {'third'}
    {[    1]}    {[     2]}    {[    3]}

배열의 셀이 숫자형 데이터를 포함하는 경우 cell2mat 함수를 사용하여 셀을 숫자형 배열로 변환할 수 있습니다.

numericCells = C(2,1:3)
numericCells=1×3 cell array
    {[1]}    {[2]}    {[3]}

numericVector = cell2mat(numericCells)
numericVector = 1×3

     1     2     3

numericCells는 1×3 셀형 배열이지만, numericVectordouble형의 1×3 배열입니다.

중괄호 {}를 사용하여 내용 인덱싱하기

셀의 내용(셀 내의 숫자, 텍스트 또는 기타 데이터)에 액세스하려면 중괄호를 사용하여 인덱싱하십시오. 예를 들어, C의 마지막 셀 내용에 액세스하려면 중괄호를 사용하십시오.

last = C{2,3}
last = 3

셀이 double형 값을 포함하므로 lastdouble형의 숫자형 변수입니다.

마찬가지로, 중괄호를 사용해 인덱싱하여 셀의 내용을 바꿀 수 있습니다.

C{2,3} = 300
C=2×3 cell array
    {'first'}    {'second'}    {'third'}
    {[    1]}    {[     2]}    {[  300]}

중괄호를 사용하여 인덱싱함으로써 여러 셀의 내용에 액세스할 수 있습니다. MATLAB®은 셀의 내용을 쉼표로 구분된 목록으로 반환합니다. 각 셀이 서로 다른 데이터형을 포함할 수 있으므로 이 목록은 단일 변수에 할당할 수 없습니다. 그러나, 이 목록을 셀과 동일한 개수의 변수에 할당할 수 있습니다. MATLAB®은 열 순서대로 변수에 할당합니다.

C의 4개 셀의 내용을 4개 변수에 할당합니다.

[r1c1, r2c1, r1c2, r2c2] = C{1:2,1:2}
r1c1 = 
'first'
r2c1 = 1
r1c2 = 
'second'
r2c2 = 2

각 셀이 동일한 데이터형을 포함하는 경우 배열 결합 연산자 []를 쉼표로 구분된 목록에 적용하여 단일 변수를 생성할 수 있습니다.

두 번째 행의 내용을 숫자형 배열로 결합합니다.

nums = [C{2,:}]
nums = 1×3

     1     2   300

참고 항목

|

관련 항목