📄 rawrecord4.m
字号:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 获取Rawdata中的记录到的所有电位序列值,并按通道保存在文本文件中
% Rawdata记录时间较长时,数据量比较大,采用分段读取,每一段时间为4000ms, 保存为文本文件时,在1M以内。
% 文件命名采用如下格式,如13通道的
% 13.txt
% 每个通道的数据保存在一个文件中
[FileName,PathName] = uigetfile('*.mcd','Select the *.mcd-file');
fileget=sprintf('%s%s',PathName,FileName);
a=datastrm(fileget);
[FileName,PathName] = uiputfile('index.txt','Save directory');
fileputdir=PathName;
% Recording date: 16-Jun-2005 02:38:09
% streams in OLE-opened file:
% 'Electrode Raw Data'
% 必须将记录时间分段,不然会出现Out of memory的情况,选取的每一段为4000ms
startTime=getfield(a,'sweepStartTime'); % 0
stopTime=getfield(a,'sweepStopTime'); % 13400
numsection=floor((stopTime-startTime)/4000)+1;
% 获得通道号chID,按照1,2,3,4...的顺序排列
chIDCell=getfield(a,'ChannelID2');
chID=(cell2mat(chIDCell))';
meach=ceil(chID/8)*2+chID+8;
% 将各通道的值写入指定的文件中。
for j=1:numsection
newstart=startTime+(j-1)*4000;
newstop=startTime+j*4000;
tempData=nextdata(a,'streamname','Electrode Raw Data','startend',[newstart,newstop]);
for i=1:length(chID)
chIDData=ad2muvolt(a,tempData.data(chID(i),:));
filenamech=sprintf('%s%d%s',fileputdir,meach(i),'.txt');
fid = fopen(filenamech,'a');
% fprintf(fid,'%d: ',meach(i));
fprintf(fid,'%6.4f\t',chIDData);
% fprintf(fid,'\n\n');
fclose(fid);
end
end
% clear
%%% mea中的通道号
% a=[11:18; 21:28; 31:38; 41:48; 51:58; 61:68; 71:78;81:88];
% a=a';
% 11(1) 21(9) 31(17)41(25)51(33)61(41)71(49)81(57)
% 12 22 32 42 52 62 72 82
% 13 23 33 43 53 63 73 83
% 14 24 34 44 54 64 74 84
% 15 25 35 45 55 65 75 85
% 16 26 36 46 56 66 76 86
% 17 27 37 47 57 67 77 87
% 18 28 38 48 58 68 78 88
% aa=1:64;
% bb=ceil(aa/8)*2+aa+8 // 由1,2,3,4..的顺序转换为mea中的实际通道号,由下式化简得来,
% bb=ceil(aa/8)*10+aa-(ceil(aa/8)-1)*8
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -