文档

num2cell

将数组转换为具有一致尺寸的单元格的单元格数组

句法

c = num2cell(a)
c = num2cell(a,dim)

描述

例子

C= num2cell(一个转换数组一个进入单元阵列C通过放置每个元素一个进入一个单独的单元格C

num2cell函数转换一个具有任何数据类型 - 甚至是非数字类型。

例子

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

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

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

  • num2cell(a,[1 2])创建一个1 x-1单元格数组C,其中包含整个数组的地方一个

例子

全部收缩

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

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

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

a = ['四;'五';'九'这是给予的
a =3x4 char阵列'四''''nine'
c = num2cell(a)
C =3x4单元阵列{'f'} {'o'} {'u'} {'r'} {'f'} {'i'} {'v'} {'v'} {'e'} {'n'} {'n'} {'i'}{'n'} {'e'}

生成一个4 x-3-BY-2数字阵列,然后创建一个4 by-1列向量的1 x-3-by-2单元格数组。

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

每个4 by-1向量包含来自第一的尺寸一个

C {1}
ans =4×11 2 3 4

创建一个1 by-3数字阵列的4 x-1-By-2单元格数组。

c = num2cell(a,2)
C =4x1x2单元格数组c(:,:,1)= {1x3 double} {1x3 double} {1x3 double} {1x3 double} c(:,:,:,2)= {1x3 double} {1x3 double} {1x3 double} {1x3 double} {1x3 double}

每个1 x-3行向量包含来自沿着的元素第二尺寸一个

C {1}
ans =1×31 5 9

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

c = num2cell(a,3)
C =4x3单元阵列{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);a(::,:,2)= a*10
a = a = a(:,:,1)= 1 5 9 2 6 10 3 7 11 4 8 12 a(:,:::, 2)= 10 50 90 20 60 100 30 70 110 110 40 80 120 120
c = num2cell(a,[1 3])
C =1x3单元阵列{4x1x2 double} {4x1x2 double} {4x1x2 double}

每个4 by-1-by-2阵列包含沿着第一和第三维的元素一个

C {1}
ans = ans(::,:,1)= 1 2 3 4 ans(::,:,2)= 10 20 30 40
c = num2cell(a,[2 3])
C =4x1单元阵列{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)/size(a,dim)细胞。如果暗淡为1或2,然后每个单元格分别包含列或行向量。如果暗淡> 2,然后每个单元包含一个数组暗淡维度长度为大小(a,昏暗),其他维度都是单身人士。

    例如,给定4 x-7 x-3阵列,一个,这个数字显示了如何num2cell创建与暗淡1,,,,2, 和3

  • 如果暗淡是一个载体n然后Cnumel(a)/prod([size(a,dim(1)),...,size(a,vdim(n))))细胞。每个单元包含一个数组暗淡(一世)该维度的长度为大小(a,dim(i))还有其他维度是单身人士。

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

数据类型:细胞

扩展功能

也可以看看

||

在R2006a之前引入