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”,其实此处完全可以双击结构体名就会显示结构体内部的具体信息,只是有的结构体设计不合理打开后超过显示范围导致无法显示,如果双击,则显示为:

                                          MATLAB读取结构体中的数据_第1张图片

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

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

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

        MATLAB读取结构体中的数据_第2张图片

ok,至此完成相关操作。

                                                                                                                                                    共同学习,共同进步!

                                                                                                                                                                     2020年1月11日

 

 

 

你可能感兴趣的:(数据获取,MATLAB结构体数据获取,近红外光谱,结构体数据提取,近红外光谱数据,corn光谱数据)