文档

mat2cell

将数组转换为可能具有不同大小单元格的单元格数组

语法

C = mat2cell (dim1Dist,…,dimNDist)
C = mat2cell (rowDist)

描述

C= mat2cell(一个dim1Dist,…,dimNDist)将数组一个在单元格数组中分成更小的数组C。向量dim1Dist…dimNDist指定如何划分行、列和(如果适用)更高维度的一个

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

输入参数

一个

任何类型的数组。

dim1Dist,…,dimNDist

的每个维数的数值向量一个。例如,这个命令

c = mat2cell(x, [10,20,30], [25,25])

将一个60×50的数组划分为包含在单元格数组中的六个数组。

kth维度,sum(昏暗的kDist) = =大小(,k)

如果kth尺寸一个是零,设置相应的吗昏暗的k经销到空数组,[]。例如,

a = rand(3,0,4);c = mat2cell(a, [1,2], [], [2,1,1]);

rowDist

的行划分的数值向量一个。如果不为任何其他维度指定分布,则mat2cell函数创建一个n1单元阵列C,在那里n = =元素个数(rowDist)

输出参数

C

单元阵列。的k数组的第维数C是由大小(C,k) = =元素个数(暗淡kDist)。的k的第一维th细胞C是由大小(C{我},k) = =昏暗的kDist(我)

例子

除以5×4矩阵X分解成2乘3和2乘2的矩阵,包含在一个单元格数组中。

C = mat2cell(X, [2 2], [3 2]) celldisp(C)

这段代码返回

X = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 C = [2 x3双][2 x2双][2 x3双][2 x2双]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,} = 14 15 19 20

X(在前面的例子中创建的)转换为一个2×1的单元格数组。

C = mat2cell(X, [1 3])

这段代码返回

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

另请参阅

|

之前介绍过的R2006a

这个话题有用吗?