다음: 낱칸 배열인 문자열, 이전: 낱칸 배열 만들기, 상위 문서: 낱칸 배열 [차례][찾아보기]
낱칸 배열의 기본 용법에 있는 것처럼, 원소를 ‘{’와 ‘}’ 연산자로 추출합니다. 낱칸 배열인 부분열 추출 및 접근을 하려면, ‘(’와 ‘)’ 연산자를 사용하여야 합니다. 아래 예시가 두 방법의 차이를 보여줍니다.
c = {"1", "2", "3"; "x", "y", "z"; "4", "5", "6"}; c{2,3} ⇒ ans = z c(2,3) ⇒ ans = { [1,1] = z }
즉, ‘{}’으로는 낱칸 배열의 원소에 접근하고, ‘()’으로는 낱칸 배열인 부분열에 접근합니다.
‘(’와 ‘)’ 연산자는 낱칸 배열을 다차원 배열에서와 같이
색인합니다. 예를 들자면, 아래 예시의 낱칸 배열에서 첫 번째와 세 번째 열의 모든 행은 0
으로 설정됩니다.
c(:, [1, 3]) = {0} ⇒ = { [1,1] = 0 [2,1] = 0 [3,1] = 0 [1,2] = 2 [2,2] = y [3,2] = 5 [1,3] = 0 [2,3] = 0 [3,3] = 0 }
위 작업은 아래로도 가능함에 유의하십시오.
c(:, [1, 3]) = 0;
스칼라 ‘0’이 자동으로 낱칸 배열 ‘{0}’으로 바뀌고, 부분열 c
에
할당됩니다.
‘()’으로 낱칸 배열을 색인하는 다른예시로써, 아래 명령으로 낱칸 배열의 첫 번째 행과 두 번째 행을 서로 바꿉니다.
c = {1, 2, 3; 4, 5, 6}; c([1, 2], :) = c([2, 1], :) ⇒ = { [1,1] = 4 [2,1] = 1 [1,2] = 5 [2,2] = 2 [1,3] = 6 [2,3] = 3 }
‘{’와 ‘}’를 사용하여 낱칸 배열의 여러 원소에 접근하면, 요청한 원소 모두를 반점으로 분리한 목록으로 반환합니다.(반점 분리 목록 참고) 아래처럼 ‘{’ 와 ‘}’ 연산자로 위 예시의 첫 번째와 두 번째 행의 교환을 되돌립니다.
[c{[1,2], :}] = deal (c{[2, 1], :}) ⇒ = { [1,1] = 1 [2,1] = 4 [1,2] = 2 [2,2] = 5 [1,3] = 3 [2,3] = 6 }
구조체 배열과 수치 배열에서 빈 행렬 ‘[]’은 낱칸 배열에서 원소를 지우는 데에 씁니다.
x = {"1", "2"; "3", "4"}; x(1, :) = [] ⇒ x = { [1,1] = 3 [1,2] = 4 }
아래 예시는 낱칸 배열 원소의 내용은 지우되 공간은 남기는 방법을 보여줍니다.
x = {"1", "2"; "3", "4"}; x(1, :) = {[]} ⇒ x = { [1,1] = [](0x0) [2,1] = 3 [1,2] = [](0x0) [2,2] = 4 }
색인 연산자는 낱칸 배열에 작동하며, 낱칸 배열에 담긴 객체에는 작동하지 않습니다. 반대로, cellindexmat
는
행렬 방식으로 작동하여 각 낱칸 배열의 낱칸에 담긴 객체를 색인하고, 요청한 값을 반환합니다.
낱칸 배열에서 행렬 방식 색인을 합니다.
행렬인 낱칸 배열 가로를 주면 아래처럼 처리합니다.
Y = cell (size (X)); for i = 1:numel (X) Y{i} = X{i}(varargin{1}, varargin{2}, …, varargin{N}); endfor
색인 매개변수에 스칼라(2
), 배열([1, 3]
), 범위(1:3
),
쌍점 연산자(":"
)가 가능합니다. 단, 색인 예약어 end
는 불가능합니다.
같이 보기: cellslices, cellfun.
다음: 낱칸 배열인 문자열, 이전: 낱칸 배열 만들기, 상위 문서: 낱칸 배열 [차례][찾아보기]