主要内容

num2cell.

将数组转换为具有始终大小的单元格的单元格数组

描述

例子

C= num2cell(一种的)转换阵列一种进入细胞阵列C通过放置每个元素一种进入单独的细胞C

num2cell.函数转换具有的数组任何数据类型 - 甚至是非数字类型。

例子

C= num2cell(一种暗淡的)分裂的内容一种进入单独的细胞C, 在哪里暗淡指定哪些维度一种包括在每个细胞中。暗淡可以是标量或尺寸的向量。例如,如果一种有2行和3列,然后:

  • num2cell(a,1)创建一个1×3个单元格数组C,每个单元格包含2×1列一种

  • num2cell(a,2)创建一个2×1个单元格数组C,每个单元格包含1×3行一种

  • num2cell(a,[1 2])创建一个1×1个单元格数组C,单元格包含整个数组一种

例子

全部收缩

将数字数组的所有元素放入单独的单元格中。

A =魔术(3)
A =3×38 1 6 3 5 7 4 9 2
c = num2cell(a)
C =3×3个单元阵列{[8]} {[1]} {[6]} {[3]} {[5]} {[5]} {[7] {{[4]} {[9]} {[2] {[2] {[2] {

将单词的单个字母放入数组的单独单元格中。

a = ['四';'五';'九']
A =3x4 char array.'四'五''九'
c = num2cell(a)
C =3x4细胞{ 'F'} { 'O'} { 'U'} { 'R'} { 'F'} { 'I'} { 'V'} { 'E'} { 'N'} { 'I'}{'n'} {'e'}

生成4×3×2的数字数组,然后创建一个1×3×2个小区阵列的4×1列向量。

a =重塑(1:12,4,3);一个(:,:,2)= a * 10
A = A(:,:,1)= 1 5 9 2 6 10 3 7 11 4 8 12a(:,2)= 10 50 90 20 60 60 70 110 40 40 80
c = num2cell(a,1)
C =1x3x2单元格数组c(:,:,1)= {4x1 double} {4x1 double} c(:,:,2)= {4x1 double} {4x1 double} {4x1 double}

每个4×1载体包含来自沿着的元素第一的尺寸一种

c {1}
ANS =.4×11 2 3 4

创建一个1×3个数字阵列的4×1-of-2单元阵列。

c = num2cell(a,2)
C =4x1x2单元格阵列C(:,:,1)= {[11 9]} {[2 6 10]} {[3 7 11]} {[4 8 12]} {[4 8 12]} c(:,2)= {[10 50{[30 70 110]} {[30 70 110]} {[40 80120]} {[

每个1×3行矢量包含来自沿着的元素第二尺寸一种

c {1}
ANS =.1×31 5 9.

最后,创建一个1-1×2个数字阵列的4×3个单元格阵列。

c = num2cell(a,3)
C =4×3个单元阵列{1x1x2 double} {1x1x2 double} {1x1x2 double} {1x1x2 double} {1x1x2 double} {1x1x2 double} {1x1x2 double} {1x1x2 double} {1x1x2 double} {1x1x2 double} {1x1x2 double} {1x1x2 double} {1x1x2 double} {1x1x2 double} {1x1x2 double} {1x1x2 double} {1x1x2 double}

每个1-by-1-by-2矢量包含来自沿着的元素第三尺寸一种

c {1}
ans = ans(:,:,1)= 1 ans(:,:,2)= 10

通过将元素组合成数阵列沿多个维度来创建单元数组。

a =重塑(1:12,4,3);一个(:,:,2)= a * 10
A = A(:,:,1)= 1 5 9 2 6 10 3 7 11 4 8 12a(:,2)= 10 50 90 20 60 60 70 110 40 40 80
C = num2cell(a,[1 3])
C =1×3个单元阵列{4x1x2 double} {4x1x2 double} {4x1x2 double}

每个4×1-by-2阵列包含沿第一和第三尺寸的元素一种

c {1}
ANS = ANS(:,:,1)= 1 2 3 4 ANS(:,:,2)= 10 20 30 40
c = num2cell(a,[2 3])
C =4×1个单元阵列{1x3x2 double} {1x3x2 double} {1x3x2 double} {1x3x2 double}

输入参数

全部收缩

输入,指定为任何类型的多维数组。

数据类型:双倍的|单身的|INT8.|INT16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64|逻辑|char|细绳|塑造|细胞|分类|约会时间|期间|日历|function_handle.

尺寸一种,指定为正整数或正整数的向量。暗淡必须在1之间ndims.一种)。

元素不需要以数字顺序。然而,num2cell.在每个单元格中置换阵列的尺寸C匹配指定尺寸的顺序。

数据类型:双倍的|单身的|INT8.|INT16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64

输出参数

全部收缩

结果数组,返回为单元格数组。的大小C取决于大小一种和价值观暗淡

  • 如果暗淡没有指定,然后C与尺寸相同一种

  • 如果暗淡那是一个标量C包含numel(a)/尺寸(a,dim)细胞。如果暗淡是1或2,然后每个单元分别包含列或行向量。如果暗淡> 2,然后每个单元格都包含一个数组暗淡尺寸长度是尺寸(a,dim),并且其其他尺寸都是单身。

    例如,给定4×7×3阵列,一种,这个数字显示了如何num2cell.创建对应的细胞暗淡价值观12, 和3.

  • 如果暗淡是一个含有的矢量N.那么Cnumel(a)/ prod([size(a,dim(1)),...,大小(a,vdim(n))])细胞。每个单元格都包含一个数组暗淡(一世)th维度的长度尺寸(a,dim(i))并且其其他尺寸是单身人士。

    例如,给定一个4×7-3阵列,您可以指定暗淡作为正整数矢量,以创建不同维度的单元格阵列。

数据类型:细胞

扩展能力

也可以看看

||

在R2006A之前介绍