单元数组与结构体

          单元数组中的每个元素都是一个数组,每个单元中可以存放任意数据类型的数据,例如在单元数组中的一个单元可以实数矩阵,也可以是字符串数组,等等。

1.单元数组的构造

1.1左标志

          左标志法就是把单元标志符{}放在等号的左端。创建一个2x2的单位数组

         >> a{1,2} = '123'

          a = 

            test'    '123'
        >> a{2,1} = 'haha'
              a = 
              'test'    '123'
             'haha'       []
       >> a{2,2} = '456'
            a = 
          'test'    '123'
          'haha'    '456'

1.2右标志

       右标志法就是把单元标志符放在等号的右端。例如创建一个2x2的单元数组

>> a(1,1) = {'test'}
a = 
    'test'
>> a(1,2) = {'123'}
a = 
    'test'    '123'
>> a(2,1) = {'haha'}
a = 
    'test'    '123'
    'haha'       []
>> a(2,2) = {'456'}
a = 
    'test'    '123'
    'haha'    '456'

   显示单元数组使用的函数是celldisp()

>> celldisp(a)
a{1,1} =
test
a{2,1} =
haha
a{1,2} =
123
a{2,2} =

456

2.单元数组的读取与删除

读取单元数组中的元素,只需要引用它所对应的下标即可,例如读取单元数组第一个元素

>> S = a{1,1}
S =

test

删除单元数组中的一行或者是一列,需要将空矩阵辐值给单元数组中的某一行或者是某一列,例如删除a的第一行:

>> a(1,:) = []
a = 
    'haha'    '456'

3 结构体

       结构体在很大程度上与单元数组十分相似。它允许用户将类型不同的数据集中在一个变量中。与单元数组不同的是,结构体是用字段名称对其元素进行索引的,而不是通过数字索引。除此之外,结构体采用点号访问字段中的数据变量,这一点与C语言十分相似。

>> persion.name = 'gl'

>> persion.age = 23

persion = 
    name: 'gl'

     age: 23

    我们还可以把这个结构体扩展成1x2的类型。

> > persion(2).name = 'test'

>> persion(2).age = 20

   当用户扩展结构体时,matlab会对未指定数据的属性自动赋值为空矩阵。

  除了使用赋值语句构造以外,还可以使用struct函数构建结构体。

 strarray = struct('field','val1','field','val2',...)


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值