最近分析磁暴发生时空间天气指数,遇到了OMNI发布的CDF文件。由于txt格式文件中有文件头,需要手动处理,因此用MATLAB读取CDF格式的文件更加方便。但是CDF文件中时间数据是cdfepoch格式,需要转化一下,用到了todatenum和datetime两个函数。todatenum是将cdfepoch转换为datenum格式。其中cdfepoch是从 01-Jan-0000 算起的毫秒数,而 MATLAB datenum是从 00-Jan-0000 算起的天数。转换过程如下:
[data,info]=cdfread(filename);
date_num=todatenum(data{1,1});
date_time=datetime(date_num,'ConvertFrom','datenum');