文档

细胞

单元阵列

描述

一个单元阵列索引数据容器的数据类型是否被称为细胞,其中每个单元格可以包含任何类型的数据。单元格数组通常包含文本列表、文本和数字的组合,或者不同大小的数字数组。用圆括号括住索引来引用单元格集合,().通过花括号索引访问单元格的内容,{}

创建

当你有数据要放入单元格数组时,使用单元格数组构造操作符创建该数组,{}

C = {1,2,3;“文本”,兰德(5 10 2),{11;22;33}}
C =2x3单元阵列{[1]}{[2]}{[3]}{‘文本’}{5 x10x2双}{3 x1细胞}

你也可以用{}创建一个空的0 × 0单元格数组。

C = {}
C = 0x0空单元格数组

要创建具有指定大小的单元格数组,请使用细胞函数,如下所述。

你可以使用细胞预先分配稍后要向其分配数据的单元格数组。细胞还可以转换某些类型的Java®、.NET和Python®数据结构到单元阵列的等效MATLAB®对象。

语法

C = cell(n)
C = cell(sz1,…,szN)
C = cell(sz)
D = cell(obj)

描述

例子

C=细胞(n返回一个n——- - - - - -n空矩阵的单元格数组。

例子

C=细胞(sz1,…,szN返回一个sz1——-…——-szN单元格数组中的空矩阵sz1,…,szN指出每个维度的大小。例如,电池(2、3)返回2 × 3单元格数组。

例子

C=细胞(深圳返回大小为vector的空矩阵单元格数组深圳定义了大小(C).例如,电池(2 [3])返回2 × 3单元格数组。

D=细胞(obj转换Java数组,.NET系统。字符串系统。对象数组,或Python序列转换成MATLAB单元格数组。

输入参数

全部展开

正方形单元格数组的大小,指定为整数值。

  • 如果n0,然后C是空单元格数组。

  • 如果n是阴性的,那么它是作为0

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

单元格数组的维度大小,指定为整数值。

  • 如果任何维度的大小为0,然后C是空单元格数组。

  • 如果任何维度的大小为负,则将其视为0

  • 在二次元之外,细胞忽略大小为1的尾随维度。例如,细胞(3,1,1,1)生成空矩阵的3 × 1单元格数组。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

大小,指定为整数行向量。的每个元素深圳指示对应维度的大小。

  • 如果任何维度的大小为0,然后C是空单元格数组。

  • 如果任何维度的大小为负,则将其视为0

  • 在二次元之外,细胞忽略大小为1的尾随维度。例如,Cell ([3 1 1 1])生成空矩阵的3 × 1单元格数组。

例子:Sz = [2 3 4]创建空矩阵的2 × 3 × 4单元格数组。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

输入数组,指定为:

  • Java数组或对象

  • .NET数组类型系统。字符串系统。对象

  • Python序列类型

输出参数

全部展开

输出数组,作为单元格数组返回。每个单元格包含一个类型为0 × 0的空数组

转换后的数组,返回为单元格数组。

每个单元格包含一个MATLAB对象,该对象的类型最接近对应的Java,net,或Python类型。有关更多信息,请参见:

例子

全部折叠

当相关数据块具有不同的数据类型时,可以将它们放在单元格数组中。每个单元格包含一条数据。若要引用单元格数组的元素,请使用数组索引。你可以用圆括号索引单元格数组,(),并使用大括号插入到单元格的内容中,{}

创建一个单元格数组,其中包含给定日期的几个温度读数。将日期指定为字符向量,将温度指定为双精度数组。要将这些数据块存储在单元格数组中,请将它们括在花括号中。

C = {“2017-08-16”,[56 67 78]}
C =1x2单元阵列{'2017-08-16'} {1x3 double}

将不同日期的读数添加到单元格数组中。添加更多单元格的一种方法是通过赋值展开单元格数组,就像展开普通数组一样。

C(2,:) = {“2017-08-17”,[58 69 79]};C(3,:) = {“2017-08-18”,[60 68 81]}
C =3x2单元阵列{'2017-08-16'} {1x3 double} {'2017-08-17'} {1x3 double} {'2017-08-18'} {1x3 double}

的第一行索引C.当你用圆括号进行索引时,(),结果是一个单元格数组,它是单元格数组的子集。

: C (1)
ans =1x2单元阵列{'2017-08-16'} {1x3 double}

索引到单元格的内容。当你用花括号索引时,{},则结果是包含在指定单元格中的数据。

C {1,2}
ans =1×356 67 78

创建一个空矩阵的3 × 3单元格数组。

C = cell(3)
C =3x3单元阵列{0x0 double} {0x0 double} {0x0 double} {0x0 double} {0x0 double} {0x0 double} {0x0 double} {0x0 double} {0x0 double} {0x0 double}

创建一个空矩阵的3 × 4 × 2单元格数组。

C = cell(3,4,2);大小(C)
ans =1×33 4 2

创建与现有数组大小相同的空矩阵单元格数组。

A = [7 9;2 1;8 3];sz = size(A);C = cell(sz)
C =3x2单元阵列{0x0 double} {0x0 double} {0x0 double} {0x0 double}

将前两行代码合并为一行是一种常见模式。

C = cell(size(A));

提示

  • 属性创建空矩阵的单元格数组细胞函数等价于将一个空矩阵赋给一个新单元格数组的最后一个索引。例如,这两个语句是等价的:

    C = cell(3,4,2);C{3,4,2} = [];

扩展功能

R2006a之前介绍