此示例显示如何从单元格数组读取和写入数据。
创建一个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