#深度剖析# #matlab# 取cell(胞元)元素时,使用大括号和小括号获取数据的本质区别

在matlab中,使用大括号和小括号引用Cell内的数据有着本质的区别,如果混淆了两种操作返回的数据结构,会给后面的数据处理和编程带来巨大麻烦!
废话少数,下面通过代码举例说明:

celldemo={[1,2,3],'sdfsdfds';[1,2,3;1,5,9],{[5,8,9,7]}};

celllenmen1=celldemo{1,1}
class(celllenmen1)

celllenmen2=celldemo(1,1)
class(celllenmen2)

程序的输出为

>> test2

celllenmen1 =

     1     2     3


ans =

double


celllenmen2 = 

    [1x3 double]


ans =

cell

由结果可知:

  1. 通过小括号 (row,col) 或(rowstart:rowend,colstart:rowend)的方式获取数据,等价于对cell进行类似数组的操作,系统返回的是对应行列(或所选行列范围内)的cell,这种方式中,返回的数据类型仍然是cell,等价于在MN的cell,拿出一个11(m*n)的cell。

  2. 通过大括号 {row,col} 的方式获取数据,访问cell数组中的数据,返回的是对应行列cell内的内容

  3. 此外,如果想要直接获取某个cell内所存矩阵指定位置的数据,可使用大括号+小括号等方式获取,方法如下:

celllenmen3=celldemo{2,1}(1:2,1)

输出为:

celllenmen3 =

     1
     1
  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

energy_百分百

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值