首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >错误消息:“引用不存在的字段'Data‘”

错误消息:“引用不存在的字段'Data‘”
EN

Stack Overflow用户
提问于 2017-11-29 19:34:30
回答 1查看 514关注 0票数 0

我正在运行一个脚本,它给出了我在问题中指定的错误消息。我在网上搜索了一些解决方案,但它不起作用,因为me...the脚本基本上是加载脑电图和肌电文件,处理它们,并最终保存它们。由于我是matlab的新手,我非常感谢您的帮助。以下是代码和错误消息:

代码语言:javascript
运行
复制
Volume_name='C:\Users\Rouve\Documents\Promotion\EEG\Data_TRIAL';
EEG_RAW_DIR =[Volume_name '/EEG/'];
EEG_MAT_DIR = [Volume_name '/EEG/'];
EMG_DIR = [Volume_name '/EMG/'];
grd= sprintf(['scale,F7,F1,Fz,F4,F8,legend\n' ...
          'C5,C3,C1,Cz,C2,C4,C6\n' ...
          'CP5,CP3,CP1,CPz,CP2,CP4,CP6\n' ...
          'P5,P3,P1,O1,P2,P4,P6']);
filelist={'DENNIS_EEG_NEWSETUP_LOAD'};
file_emg={'DENNIS_EMG_Load.mat'};
[cnt, mrk_orig]= file_readBV([EEG_RAW_DIR filelist{1} '*']);
mrk=mrkodef_cmc(mrk_orig);
cnt=proc_selectChannels(cnt,'not',{'x_dir','y_dir','z_dir'});
epo=proc_segmentation(cnt,mrk,[-500 5500]);
epo_down=proc_selectEpochs(epo,[1:3:60]);
epo_up=proc_selectEpochs(epo,[2:3:60]);
mnt= mnt_setElectrodePositions(cnt.clab);
mnt= mnt_setGrid(mnt, grd);
emg=load([EMG_DIR file_emg{1}]);
mrk_emg.pos=find(diff(emg.Data{9})>0.8);
cnt_emg.clab={'1','2','3','4','5','6','7','8'};
x=zeros(size(emg.Data{1},1),length(cnt_emg.clab));
for ch=1:length(cnt_emg.clab)
   x(:,ch)=emg.Data{ch};
end
cnt_emg.x=x;
x=zeros(round(size(cnt_emg.x,1)/6),length(cnt_emg.clab));
for ch=1:size(x,2)
   x(:,ch)=decimate(cnt_emg.x(:,ch),6);
end
cnt_emg.x=x;
mrk_emg.pos=round(mrk_emg.pos/6)';
cnt_emg.fs=500;
mrk_emg.fs=500; 
mrk_emg= convert_markers(mrk_emg);
mrk_emg.className{1}='DOWN'; %define the phases
mrk_emg.className{2}='UP';
mrk_emg.className{3}='BREAK';
mrk_emg.y=zeros(3,length(mrk_emg.time));
for i=1:3
   mrk_emg.y(i,[i:3:60])=1;
end
emg_epo=proc_segmentation(cnt_emg,mrk_emg,[-500 5500]);
file_saveMatlab([EEG_MAT_DIR filelist{1}], cnt, mrk, mnt, ...
               'channelwise',1, ...
               'format','int16', ...
               'resolution', 'auto');
file_emg_save{1}='DENNIS_PROC'; %save under new name!
file_saveMatlab([EMG_DIR  file_emg_save{1}], cnt_emg, mrk_emg,[],...         
                'channelwise',1, ...
               'format','int16', ...
               'resolution', NaN);

Reference to non-existent field 'Data'.
EN

回答 1

Stack Overflow用户

发布于 2017-11-29 22:15:45

load()创建了数据结构emg

代码语言:javascript
运行
复制
emg=load([EMG_DIR file_emg{1}]);

根据所加载的文件格式,保存在此文件中的所有变量都将恢复为structure emg的字段。您得到的错误意味着您正在加载的数据文件不包含名为data的变量。我可以想象出以下几个原因:

您加载的文件不正确: Check filename file contents

  • 创建数据文件的程序不会写入名为data的变量,可能它在文件中的拼写不同。请检查创建数据文件的程序。它应该包含一个类似于save 'your_filename' 'data'

的语句

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47551849

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档