Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

멀티레벨 인덱싱을 사용하여 셀 일부에 액세스

이 예제에서는 셀형 배열의 셀 내에 저장된 배열의 데이터에 액세스하는 기법을 보여줍니다.

샘플 셀형 배열을 생성합니다.

myNum = [1, 2, 3];
myCell = {'one', 'two'};
myStruct.Field1 = ones(3);
myStruct.Field2 = 5*ones(5);

C = {myNum, 100*myNum;
     myCell, myStruct}
C=2×2 cell array
    {[ 1 2 3]}    {[100 200 300]}
    {1x2 cell}    {1x1 struct   }

중괄호 {}를 사용하여 특정 셀의 전체 내용에 액세스합니다. 예를 들어, 다음은 숫자형 벡터를 포함한 셀에서 숫자형 벡터를 반환합니다.

C{1,2}
ans = 1×3

   100   200   300

내용의 데이터형과 일치하는 구문을 사용하여 인덱스를 추가하는 방식으로 셀의 내용 중 일부에 액세스합니다.

숫자 인덱스를 괄호로 묶습니다. 예를 들어, C{1,1}은 1×3 숫자형 벡터 [1 2 3]을 반환합니다. 괄호를 사용하여 해당 벡터의 두 번째 요소에 액세스합니다.

C{1,1}(1,2)
ans = 2

셀형 배열 인덱스를 중괄호로 묶습니다. 예를 들어, C{2,1}은 셀형 배열 {'one','two'}를 반환합니다. 중괄호를 사용하여 해당 셀형 배열 내에 있는 두 번째 셀의 내용에 액세스합니다.

C{2,1}{1,2}
ans = 
'two'

점 표기법을 사용하여 구조체형 배열의 필드를 참조하고 숫자형 배열과 셀형 배열에 대해 설명된 대로 배열의 요소를 참조합니다. 예를 들어, C{2,2}는 구조체형 배열을 반환합니다. 여기서 Field2는 5로 구성된 5×5 숫자형 배열을 포함합니다. 점 표기법과 괄호를 사용하여 해당 필드의 5행 1열의 요소에 액세스합니다.

C{2,2}.Field2(5,1)
ans = 5

임의 개수의 셀형 배열과 구조체형 배열을 중첩할 수 있습니다. 예를 들어, 중첩 셀과 구조체를 C에 추가해 보겠습니다.

C{2,1}{2,2} = {pi, eps};
C{2,2}.Field3 = struct('NestedField1', rand(3), ...
                       'NestedField2', magic(4), ...
                       'NestedField3', {{'text'; 'more text'}} );

중괄호, 괄호 또는 점 표기법을 사용하여 새 데이터의 일부에 액세스합니다.

copy_pi = C{2,1}{2,2}{1,1}
copy_pi = 3.1416
part_magic = C{2,2}.Field3.NestedField2(1:2,1:2)
part_magic = 2×2

    16     2
     5    11

nested_cell = C{2,2}.Field3.NestedField3{2,1}
nested_cell = 
'more text'

관련 항목