MATLAB读取结构体中的数据

       近期做一个数据分析的文章,需要使用经典的近红外光谱数据集 corn NIR (网址: http://eigenvector.com/), 但是下载的数据是包含在一个数据集中,无法直接使用,需要进行数据读取,此时有以下学习收获:

       1.在读取包含在结构体中的近红外光谱数据之前,需要知道所需数据在结构体内的名称,使用 fieldnames() 函数查看具体名称,以上述数据集为例,在MATLAB中演示为:

>> fieldnames(m5spec)

ans = 

    'name'
    'type'
    'author'
    'date'
    'moddate'
    'imagesize'
    'imagemode'
    'data'
    'label'
    'axisscale'
    'title'
    'class'
    'include'
    'description'
    'userdata'
    'datasetversion'
    'history'

此时可以看到所需数据在该数据中的名称为“data”,其实此处完全可以双击结构体名就会显示结构体内部的具体信息,只是有的结构体设计不合理打开后超过显示范围导致无法显示,如果双击,则显示为:

                                          

这个就可以完全看到数据的大小,也知道所需数据的具体名称,下面需要对结构体数据进行提取;

2. 使用 getfield(m5spec, 'data'),获取数据。

       一般需要加一个名称方便后续运算,如 DATA = getfield (m5spec, 'data')。即可获得所需数据。

        

ok,至此完成相关操作。

                                                                                                                                                    共同学习,共同进步!

                                                                                                                                                                     2020年1月11日

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值