matlab取元胞矩阵的某一列/某一行

最近帮人写属性约简的程序,遇到了大小不同的数组需要存一块,于是用上了元胞,总结一下用法以后万一还要用,自用的就别嫌弃我写的比较乱了。

创建元胞或者索引元胞时都使用‘{}’

例如

a{1}=1
a{2}=1

结果

a =

1×2 cell 数组

{[1]} {[1]}

如果要索引a其中的某个元胞就用a(),要索引某个元胞的内容就用a{}

a(1)

ans =

1×1 cell 数组

{[1]}

a{1}

ans =

1

创建一个元胞矩阵

for ii=1:3
    for jj=1:3
        eval(strcat('a{',num2str(ii),',',num2str(jj),'}','=ii:ii+3'))
    end
end

结果

a =

  3×3 cell 数组

    {1×4 double}    {1×4 double}    {1×4 double}
    {1×4 double}    {1×4 double}    {1×4 double}
    {1×4 double}    {1×4 double}    {1×4 double}

如果要取某一列的话用a(:,x)

a(:,1)

ans =

  3×1 cell 数组

    {1×5 double}
    {1×4 double}
    {1×3 double}

如果要取某一列其中的内容就不能用a{:,x}

a{:,1}

ans =

     1     2     3     4     5


ans =

     2     3     4     5


ans =

     3     4     5

要取某一列其中的内容要用cell2mat(a(:,x))

cell2mat(a(:,1))

ans =

     1     2     3     4
     2     3     4     5
     3     4     5     6

要取元胞矩阵中某个元胞的某个值就用a{x,y}(z)

a{1,1}(1)

ans =

     1

总结:元胞矩阵也是矩阵,索引方式同矩阵,提取元胞内容用‘{}’,元胞内容是什么,索引时就用什么索引。

  • 13
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值