mat2cell

将数组转换为单元格数组,单元格中包含子数组

描述

例子

C = mat2cell (一个,dim1Dist,…, dimNDist)将数组一个并以单元格数组的形式返回C。向量dim1Dist…dimNDist指定如何划分行、列和(如果适用)的更高维度一个。中较小的数组C可以有不同的大小。一个可以有任何数据类型。

例子

C = mat2cell (一个,rowDist)将数组一个成一个n1单元阵列C,在那里n等于元素的数量rowDist

例子

全部折叠

创建一个5乘4的数字数组。

一个=重塑(1:20,5、4)'
一个=4×512 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

一个变成两个2乘3的子数组和两个2乘2的子数组。返回单元格数组中的子数组。

C = mat2cell(A,[2 2],[3 2])
C =2×2单元阵列{2x3双}{2x2双}{2x3双}{2x2双}

中显示子数组C使用celldisp函数。

celldisp (C)
C{1,1} = 11 12 13 16 17 18 C{1,2} = 4 5 9 10 C{2,2} = 14 15 19 20

创建一个数组。

一个=重塑(1:20,5、4)'
一个=4×512 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

划分行一个使单元格数组包含两个子数组。的第一个元素rowDist1的第一个单元格C的第一行一个。的第二个要素rowDist3.下一个单元格C的后面三行一个。的元素的总和rowDist的行数一个

rowDist = [13];C = mat2cell (rowDist)
C =2×1单元阵列{1x5双}{3x5双}

显示子序列。

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

输入参数

全部折叠

输入数组。

描述输入数组元素沿每个维度分布的向量,指定为数值向量。

例如,如果一个是一个60×50的数组,那么您可以将此参数指定为[10 20 30],[25 25]划分一个如图和代码所示。C一个单元格数组是否包含分割出来的六个子数组一个

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

Kth尺寸一个,指定对应向量的元素dimKDist总和(dimKDist)的大小K维度。

如果Kth尺寸一个大小为0,然后指定对应的向量dimKDist作为空数组,[],如代码所示。

一个=兰德(3 0 4);C = mat2cell(A,[1 2],[],[2 11]);

按输入数组的行描述分布的向量,指定为数值向量。当你没有指定如何除法时一个沿着任何其他维度mat2cell函数返回一个n1单元阵列C,在那里n等于元素的数量rowDist

的每个元素rowDist的对应单元格中子数组的行数C。的元素的总和rowDist的行数必须等于一个

之前介绍过的R2006a