结构数组

结构数组

结构数组是对某个对象,不同属性的数据,用一组数据来表示,称为结构数组。结构数组中的元素可以是数值也可以是字符串。MATLAB有关结构数组的函数,如下:
struct 创建结构数组
fieldname 提取结构数组字段名
getfield 提取字段名内容
rmfield 删除字段名
struct2cell 将结构数组转换成单元数组
cell2struct 将单元数组转换成结构数组

1.结构数组的创建

创建格式:
s=struct(‘field1’,{},‘field2’,{},…) 表示建立一个空的结构体(field1、field2是字段名)。
s=struct(‘field1’,val1,‘field2’,val2,…) 这是在建立结构体时就赋值,其中val1,val2表示field1、field2内的内容。
除了上面这种赋值方法外,还可以直接赋值,
格式为:
数组名.字段名=所要赋值的内容。
例1:表中是几个学生的档案。数组名为student,用结构体来表示。(这题用的直接赋值)
在这里插入图片描述

解:在这里插入图片描述
在这里插入图片描述

2.结构数组与单元数组的转换

结构数组与单元数组的转换函数为:
c=struct2cell(s)
单元数组与结构数组的转换函数为:
s=cell2struct(c)
上式中,s为结构数组名,c为单元数组名。
假如结构数组s是多维的,则转换后的单元数组的大小为:
[p,size(s)]
上式中,p为结构数组s的字段数。
例2:现有树的品种为白桦,树高28.5m的结构数组信息,将其转换成单元数组。
解:
在这里插入图片描述

例3:将例1的结构数组student转换成单元数组C。
解:
在这里插入图片描述

3.单元数组的数据处理

MATLAB的单元数组虽然有类似与Excel的功能,但其统计分析的功能不如Excel。例如在求例1中学生的平均分时,不能直接使用mean函数,需要将单元数组中单元的数值转换成数值向量,随后进行数值运算。
例4:求结构数组student中的考分score的平均值,其中考分情况如下:
在这里插入图片描述
解:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值