edfseek.m

来自「该程序可以读取欧洲格式.edf和.rec的数据」· M 代码 · 共 49 行

M
49
字号
function [status,POS]=edfseek(arg1,offset,origin)% status=edfseek(EDF_Struct,offset,origin)% Currently, offset and origin are the number of (EDF) records. 
% It is considered to change it to seconds. 
% EDFSEEK FUNCTIONALITY MIGHT CHANGE IN FUTURE VERSIONS
%
% see also: fseek 
%	Version 3.03
%	23.09.1998%	Copyright (c) 1997-98 by Alois Schloegl%	a.schloegl@ieee.org	

% This program is free software; you can redistribute it and/or% modify it under the terms of the GNU General Public License% as published by the Free Software Foundation; either version 2% of the  License, or (at your option) any later version.% % This program is distributed in the hope that it will be useful,% but WITHOUT ANY WARRANTY; without even the implied warranty of% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the% GNU General Public License for more details.% % You should have received a copy of the GNU General Public License% along with this program; if not, write to the Free Software% Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.EDF=arg1;

if origin==-1 | origin=='bof'
        OFFSET=EDF.HeadLen+EDF.AS.spb*2*offset;        status=fseek(EDF.FILE.FID,OFFSET,origin);elseif origin==0 | origin=='cof'
        OFFSET=EDF.AS.spb*2*offset;        status=fseek(EDF.FILE.FID,OFFSET,origin);
elseif origin==1 | origin=='eof'
        OFFSET=EDF.HeadLen+EDF.AS.spb*2*(EDF.NRec+offset);        status=fseek(EDF.FILE.FID,OFFSET,origin);end;

POS = (ftell(EDF.FILE.FID)-EDF.HeadLen)/EDF.AS.spb/2;
if POS<1 | POS>EDF.NRec 
%if POS<EDF.HeadLen | POS>EDF.HeadLen+EDF.AS.spb*2*EDF.NRec 
        status=-1;
else
        status=0;
end;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?