主要内容

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 double} {2x2 double} {2x3 double} {2x2 double}

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

celldisp (C)
C{1,1} = 12 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

创建一个数组。

一个=重塑(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 = [1 3];C = mat2cell (rowDist)
C =2×1单元阵列{[1 2 3 4 5]} {3x5 double}

显示子序列。

celldisp (C)
C{2} = 12 3 4 5 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 1 1]);

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

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

之前介绍过的R2006a