Main Content

mat2cell

배열을 각 셀에 원 배열의 부분배열을 포함된 셀형 배열로 변환

설명

예제

C = mat2cell(A,dim1Dist,...,dimNDist)는 배열 A를 작은 배열로 나누고 셀형 배열 C로 반환합니다. 벡터 dim1Dist,...dimNDistA의 행, 열 및 (가능한 경우) 더 높은 차원을 나누는 방법을 지정합니다. C로 반환되는 작은 배열은 서로 다른 크기를 가질 수 있습니다. A의 데이터 형은 아무 유형이어도 괜찮습니다.

예제

C = mat2cell(A,rowDist)는 배열 An×1 셀형 배열 C로 나눕니다. 여기서 nrowDist의 요소 개수입니다.

예제

모두 축소

5×4 숫자형 배열을 만듭니다.

A = reshape(1:20,5,4)'
A = 4×5

     1     2     3     4     5
     6     7     8     9    10
    11    12    13    14    15
    16    17    18    19    20

A를 2×3 크기의 부분배열 2개와 2×2 크기의 부분배열 2개로 나눕니다. 부분배열을 셀형 배열로 반환합니다.

C = mat2cell(A,[2 2],[3 2])
C=2×2 cell array
    {2x3 double}    {2x2 double}
    {2x3 double}    {2x2 double}

celldisp 함수를 사용하여 C의 부분배열을 표시합니다.

celldisp(C)
 
C{1,1} =
 
     1     2     3
     6     7     8

 
 
C{2,1} =
 
    11    12    13
    16    17    18

 
 
C{1,2} =
 
     4     5
     9    10

 
 
C{2,2} =
 
    14    15
    19    20

 

배열을 만듭니다.

A = reshape(1:20,5,4)'
A = 4×5

     1     2     3     4     5
     6     7     8     9    10
    11    12    13    14    15
    16    17    18    19    20

셀형 배열이 2개의 부분배열을 포함하도록 A의 행을 나눕니다. rowDist의 첫 번째 요소가 1이므로 C의 첫 번째 셀은 A의 첫 번째 행을 포함합니다. rowDist의 두 번째 요소가 3이므로 C의 다음 셀은 A의 다음 3개의 행을 포함합니다. rowDist의 요소의 합은 A의 행 개수와 같습니다.

rowDist = [1 3];
C = mat2cell(A,rowDist)
C=2×1 cell array
    {[1 2 3 4 5]}
    {3x5 double }

부분배열을 표시합니다.

celldisp(C)
 
C{1} =
 
     1     2     3     4     5

 
 
C{2} =
 
     6     7     8     9    10
    11    12    13    14    15
    16    17    18    19    20

 

입력 인수

모두 축소

입력 배열입니다.

각 차원에 대한 입력 배열 요소의 분배 상태를 설명하는 벡터로, 숫자형 벡터로 지정됩니다.

예를 들어, A가 60×50 배열이라면 이 인수를 [10 20 30],[25 25]로 지정하여 코드와 그림에 표시된 대로 A를 나눌 수 있습니다. CA에서 분할된 6개의 부분배열을 포함하는 셀형 배열입니다.

C = mat2cell(A,[10 20 30],[25 25])

sum(dimKDist)K의 크기와 같아지도록 AK번째 차원에 대해 대응하는 벡터 dimKDist의 요소를 지정합니다.

AK번째 차원의 크기가 0이라면 코드에 표시된 대로 대응하는 벡터 dimKDist를 빈 배열 []로 지정합니다.

A = rand(3,0,4);
C = mat2cell(A,[1 2],[],[2 1 1]);

입력 배열의 행 기준 분배 상태를 설명하는 벡터로, 숫자형 벡터로 지정됩니다. 다른 모든 차원에 대해 A를 나눌 방법을 지정하지 않으면 mat2cell 함수는 n×1 셀형 배열 C를 반환하는데 여기서 nrowDist의 요소 개수와 같습니다.

rowDist의 각 요소는 C의 대응하는 셀에 포함된 부분배열의 행 개수를 지정합니다. rowDist의 요소의 합은 A의 행 개수와 같아야 합니다.

확장 기능

버전 내역

R2006a 이전에 개발됨