主要内容

在单元格数组中访问数据

此示例显示如何从单元格数组读取和写入数据。

创建一个2×3单元格数组的文本和数字数据。

c = {'一''二''三';1,2,3}
C =2×3个单元阵列{'one'} {'two'} {'three'} {[1]} {[2]} {[3]}

有两种方法可以引用单元阵列的元素。在光滑的括号中封闭索引,(),引用一组小区 - 例如,要定义数组的子集。在卷曲括号中封闭索引,{},引用各个单元格中的文本,数字或其他数据。

细胞索引与平滑括号,()

平滑括号中的单元格数组索引是指小区组。例如,创建一个是一个2×2个单元格数组,该单元是一个子集C,使用平滑括号。

左上=C(1:2,1:2)
Upperleft =.2×2个单元阵列{'一个'} {'两个'} {[1]} {[2]}

通过用相同数量的单元格替换它们来更新一组单元格。例如,替换第一行中的单元格C具有等效大小(1-by-3)单元阵列。

C(1,1:3)= {'第一的''第二''第三'}
C =2×3个单元阵列{'first'}{'second'}{'third'}{[1]}{[2]}{[3]}

如果数组中的单元格包含数字数据,则可以使用Cell2mat功能。

numericcells = c(2,1:3)
numericcells =1×3个单元阵列{[1]} {[2]} {[3]}
numericVector = Cell2mat(NumericCells)
numericVector =1×3.1 2 3.

NumericCells.是一个1×3个单元格阵列,但是numericVector.是一个1比3的类型数组双倍的

用卷曲括号索引,{}

通过使用Curly Braces索引来访问单元格的内容 - 单元格中的数字,文本或其他数据。例如,要访问上一个单元格的内容C,使用卷曲括号。

last = c {2,3}
持续= 3

最后的是类型的数字变量双倍的,因为细胞包含一个双倍的价值。

同样,您可以使用Cracy括号索引以替换单元格的内容。

C {2,3} = 300
C =2×3个单元阵列{'first'} {'second'} {'第三'} {[1]} {[2]} {[300]}

您可以通过使用CRACE括号索引来访问多个单元格的内容。MATLAB®将单元格的内容返回为a逗号分隔的列表。因为每个单元格都可以包含不同类型的数据,所以您无法将此列表分配给单个变量。但是,您可以将列表分配给与单元格相同的变量。MATLAB®以列顺序分配给变量。

分配四个细胞的内容C四个变量。

[r1c1,r2c1,r1c2,r2c2]=C{1:2,1:2}
r1c1 ='first'
R2C1 = 1
R1C2 ='第二'
R2C2 = 2

如果每个单元格包含相同类型的数据,则可以通过应用阵列连接运算符来创建单个变量,[],到逗号分隔的列表。

将第二行的内容连接到数字数组中。

nums = [c {2 ,:}]
nums =1×3.1 2 300

也可以看看

|

相关话题