Matlab中访问元胞数组中的数据

目录

访问元胞数组中的数据

使用圆括号 () 的元胞索引

使用花括号 {} 的内容索引


访问元胞数组中的数据

        如何在元胞数组中读取和写入数据。创建一个由文本和数值数据组成的 2×3 元胞数组。

C = {'one', 'two', 'three'; 
     1, 2, 3}


C=2×3 cell
    {'one'}    {'two'}    {'three'}
    {[  1]}    {[  2]}    {[    3]}

        引用元胞数组的元素有两种方法。将索引括在圆括号()中以引用元胞集,例如,用于定义一个数组子集。将索引括在花括号 {} 中以引用各个元胞中的文本、数字或其他数据。

使用圆括号 () 的元胞索引

        圆括号中的元胞数组索引引用元胞集。例如,要创建一个属于 C 的子集的 2×2 元胞数组,请使用圆括号。

upperLeft = C(1:2,1:2)


upperLeft=2×2 cell
    {'one'}    {'two'}
    {[  1]}    {[  2]}

        通过将元胞集替换为相同数量的元胞来更新这些元胞集。例如,将 C 的第一行中的元胞替换为大小相等 (1×3) 的元胞数组。

C(1,1:3) = {'first','second','third'}


C=2×3 cell
    {'first'}    {'second'}    {'third'}
    {[    1]}    {[     2]}    {[    3]}

        如果数组中的元胞包含数值数据,可以使用 cell2mat 函数将这些元胞转换为数值数组。

numericCells = C(2,1:3)

numericCells=1×3 cell
    {[1]}    {[2]}    {[3]}



numericVector = cell2mat(numericCells)

numericVector = 1×3

     1     2     3

  numericCells 是一个 1×3 的元胞数组,但 numericVector 是一个 double 类型的 1×3 数组。

使用花括号 {} 的内容索引

        通过使用花括号进行索引来访问元胞的内容,即元胞中的数字、文本或其他数据。例如,要访问 C 的最后一个元胞的内容,请使用花括号。

last = C{2,3}

last = 3

  last 为一个 double 类型的数值变量,因为该元胞包含 double 值。同样,也可以使用花括号进行索引来替换元胞的内容。

C{2,3} = 300


C=2×3 cell
    {'first'}    {'second'}    {'third'}
    {[    1]}    {[     2]}    {[  300]}

        可以使用花括号进行索引来访问多个元胞的内容。MATLAB® 会以逗号分隔的列表形式返回这些元胞的内容。因为每个元胞可以包含不同类型的数据,所以无法将此列表分配给单个变量。但是,可以将此列表分配给与元胞数量相同的变量。MATLAB® 将按列顺序赋给变量。

        将 C 的四个元胞的内容赋给四个变量。

[r1c1, r2c1, r1c2, r2c2] = C{1:2,1:2}


r1c1 = 
'first'

r2c1 = 1

r1c2 = 
'second'

r2c2 = 2

        如果每个元胞都包含相同类型的数据,则可以通过将数组串联运算符 [] 应用于逗号分隔的列表来创建单个变量。将第二行的内容串联到数值数组中。

nums = [C{2,:}]

nums = 1×3

     1     2   300

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值