访问单元阵列中的数据
这个例子展示了如何读和写数据和单元阵列。
创建一个2×3单元阵列的文本和数字数据。
C = {“一个”,“两个”,“三”;1、2、3}
C =2×3单元阵列{'一'}{“两个”}{三}{[1]}{[2]}{[3]}
有两种方法可以参考单元阵列的元素。将指数平滑括号中,()
,指套细胞——例如,定义数组的子集。附上指标在花括号,{}
,指文本、数字、单个细胞内或其他数据。
细胞索引与光滑的括号,()
单元阵列指数平滑括号引用组细胞。例如,要创建一个2×2单元阵列的一个子集C
,用光滑的括号。
1:2 upperLeft = C (1:2)
upperLeft =2×2单元阵列{'一'}{“两个”}{[1]}{[2]}
更新组细胞取而代之的是相同数量的细胞。例如,替换细胞在第一行C
与equivalent-sized(1×3)单元阵列。
C (1:3) = {“第一”,“第二”,“第三”}
C =2×3单元阵列{'第一次'}{‘第二个’}{'第三'}{[1]}{[2]}{[3]}
如果细胞数组包含数字数据,您可以将细胞转换成数字阵列使用cell2mat
函数。
numericCells = C (1:3)
numericCells =1×3单元阵列{[1]}{[2]}{[3]}
numericVector = cell2mat (numericCells)
numericVector =1×31 2 3
numericCells
是一个1×3单元阵列,但numericVector
1×3数组类型的吗双
。
内容索引和花括号{}
访问的内容单元——数字,文本或其他细胞——通过索引花括号中的数据。例如,访问的最后一个单元的内容C
,使用花括号。
去年= C {2,3}
去年= 3
去年
是数字类型的变量双
,因为细胞包含一个双
价值。
同样,可以用花括号指数来代替一个单元格的内容。
C {2,3} = 300
C =2×3单元阵列{'第一次'}{‘第二个’}{'第三'}{[1]}{[2]}{[300]}
您可以访问多个单元的内容索引和花括号。MATLAB®返回的内容作为一个细胞以逗号分隔。因为每个单元可以包含不同类型的数据,您不能将这个列表分配给一个变量。不过,您可以指定列表相同数量的变量作为细胞。MATLAB®分配变量的列顺序。
分配的内容四个细胞C
四个变量。
[r1c1, r2c1 r1c2 r2c2] = C {1:2, 1:2}
r1c1 = '第一次'
r2c1 = 1
r1c2 = '第二'
r2c2 = 2
如果每个单元格都包含相同类型的数据,您可以创建一个变量,运用数组连接操作符,[]
以逗号分隔。
第二行内容合并到一个数字数组。
num = [C {2,}):
num =1×31 2 300