首页 > 其他 > 详细

matlab处理hd5高维数据

时间:2020-04-20 18:04:25      阅读:103      评论:0      收藏:0      [点我收藏+]

matlab高维数据函数

     因为matlab写入hd5数据是转置的,所以如果直接将数据写入的话肯定会相反,所以要对高维数据转置。因为最近做毕业设计,要用到hd5数据,我用的是6维的数据,

Data dimension : (subject x trials x segments x 1 x channel x data) type = numpy.array
Label dimension : (subject x trials x segments) type = numpy.array

 1、我的原始数据全都是matlab的mat格式的二维数据(脑电信号,14个通道为行数,14848列为列数),所以要使用Matlab来写入数据

data(1,1,1,1,1:14,1:14848) = a;%设置第一个人的数据
data(2,1,1,1,1:14,1:14848) = a;%设置第二个人的数据

    dimension = ndims(a);%返回数据维度

    size = size(a);%返回各个维度的长度

    a_transform = permute(a,[6,5,4,3,2,1]);%将6维数据转置

    h5create(‘E:\myfile.h5‘,‘/data‘,[14848 14 1 1 1 5]);%我的hdf文件要使用两个数据集data和label

    h5write(‘E:\myfile.h5‘,‘/data‘,a‘);

    h5create(‘E:\myfile.h5‘,‘/label‘,[1 1 1]);

 在使用转置的时候发现如果是[1,1,1,1,1:14,1:14848]格式,转置完以后就成为了二维数据

 2、结果

技术分享图片

 

 

 

 

matlab处理hd5高维数据

原文:https://www.cnblogs.com/andrew-address/p/12739137.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!