亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? matread.m

?? matlab數字信號處理工具箱
?? M
字號:
function [HDR,data,t]=matread(HDR,arg2,idxlist)
% MATRREAD Loads (parts of) data stored in Matlab-format 
%
% [HDR,data,timeindex]=matread(HDR,block_number, [startidx, endidx])
% This is the recommended use for Matlab-files generated from ADICHT data
% Before using MATREAD, HDR=MATOPEN(filename, 'ADI', ...) must be applied.
%
% [HDR,data,timeindex]=matread(HDR,Variable_Name, [startidx, endidx])
% can be used for other Matlab4 files. 
% Variable name is a string which identifies a Matlab Variable.
% Before using MATREAD, HDR=MATOPEN(filename, 'r', ...) must be applied.
%
% see also: EEGREAD, FREAD, EEGOPEN, EEGCLOSE  

%	$Revision: 1.1 $
%	$Id: matread.m,v 1.1 2003/06/10 10:15:45 schloegl Exp $
%	Copyright (c) 1997-2003 by  Alois Schloegl
%	a.schloegl@ieee.org	

% This library is free software; you can redistribute it and/or
% modify it under the terms of the GNU Library General Public
% License as published by the Free Software Foundation; either
% Version 2 of the License, or (at your option) any later version.
%
% This library 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
% Library General Public License for more details.
%
% You should have received a copy of the GNU Library General Public
% License along with this library; if not, write to the
% Free Software Foundation, Inc., 59 Temple Place - Suite 330,
% Boston, MA  02111-1307, USA.

CHt=[];
if ~ischar(arg2)
        if strcmp(HDR.TYPE,'ADI'); %HDR.ADI.Mode,
                BlockNo=abs(arg2);
                if isempty(BlockNo), BlockNo=1:length(HDR.ADI.DB); end;
                if (isinf(BlockNo) | (length(BlockNo)~=1))
                        if nargout<3,
		                fprintf(2,'Warning MATREAD: missing output argument, time information cannot be returned\n');
                        end;
                        CHd=HDR.ADI.DB(BlockNo);
                        CHt=HDR.ADI.TB(BlockNo);
                elseif ((BlockNo<1) | BlockNo>length(HDR.ADI.DB)),
	                fprintf(2,'Warning MATREAD: tried to read block %i, but only %i blocks in file %s\n',BlockNo,length(HDR.ADI.DB),HDR.FileName);
                        CHd=[];CHt=[];
                else
                        CHd=HDR.ADI.DB(BlockNo);
                        CHt=HDR.ADI.TB(BlockNo);
                end;
        else 
                CHd=arg2;
                fprintf(2,'Warning MATREAD: Variable identified by number\n');
        end;	
else  %if ischar(arg2)
        CHd=find(strcmp(arg2,{HDR.Var.Name}));
        if isempty(CHd)
                %HDR.ErrNo=-1; 
                fprintf(2,'Warning MATREAD: Variable %s not found\n',arg2);
                data=[];
                return;
        end;
end;
if length(CHd)>1 
        fprintf(2,'Warning MATREAD: Only one block/variable can be read\n');
        CHd=CHd(1);
end;

if nargin<4, end;

if nargin<3,
        idxlist=[1,HDR.Var(CHd).Size(2)];	        
else
	if ~all(isfinite(idxlist)),
        	idxlist=[1,HDR.Var(CHd).Size(2)];	        
	end;        
end

% if length(idxlist)<2,idxlist=idxlist*[1 1]; end;

if (idxlist(1)<1) %| (idxlist(length(idxlist))>HDR.Var(CHd).Size(2))), 
        fprintf(2,'Warning MATREAD #%i: Invalid File Position %f-%f\n',CHd,[idxlist(1)-1,idxlist(length(idxlist))]); 
        idxlist(1)=1;
        %return; 
end;
if idxlist(length(idxlist))>HDR.Var(CHd).Size(2), 
        fprintf(2,'Warning MATREAD #%i: endidx exceeds block length %f-%f\n',CHd,[HDR.Var(CHd).Size(2),idxlist(length(idxlist))]); 
        idxlist=[idxlist(1),HDR.Var(CHd).Size(2)];
        %return; 
end;
if 0; %((idxlist(1)<1) | (idxlist(length(idxlist))>HDR.Var(CHd).Size(2))), 
        fprintf(2,'ERROR MATREAD #%i: Invalid File Position %f-%f\n',CHd,[idxlist(1)-1,idxlist(length(idxlist))]); 
        return; 
end;
Pos = (idxlist(1)-1) * HDR.Var(CHd).Size(1) * HDR.Var(CHd).SizeOfType;
Len = min(idxlist(length(idxlist)), HDR.Var(CHd).Size(2)) - idxlist(1) + 1;

fseek(HDR.FILE.FID, round(HDR.Var(CHd).Pos + Pos), -1); % round must be explicite, otherwise fseek does incorrect rounding
[msg,errno] = ferror(HDR.FILE.FID); 
if errno, fprintf(2,'ERROR MATREAD: FSEEK does not work Pos=%f\n%s',HDR.Var(CHd).Pos+Pos,msg); return; end;

count = 0;

if ~any(CHd==HDR.ADI.DB), % for non-data blocks 
        data=repmat(nan,HDR.Var(CHd).Size(1),Len);
	while (count<Len),
        	cc = min(2^12,Len-count);
		% [CHd,idxlist(1),idxlist(length(idxlist)),Len,HDR.Var(CHd).Size(2)]
		[dta,c] = readnextblock4(HDR.FILE.FID,HDR.Var(CHd),cc);
                data(:,count+(1:size(dta,2))) = dta;
	        count = count + cc;
	end;
else    
        BLOCKSIZE=64*3*25*4; % 2^12; % You can change this for optimizing on your platform
        
        %HDR=mat_setfilter(HDR,BlockNo);% set filters for this block 
        for k=1:max(HDR.SIE.InChanSelect),
                if k <= HDR.NS,
		        if HDR.SIE.FILT==1;
                                [tmp,HDR.Filter.Z(:,k)] = filter(HDR.Filter.B,HDR.Filter.A,zeros(length(HDR.Filter.B),1));
		                HDR.FilterOVG.Z = HDR.Filter.Z;
                        end;
                end;
        end;
        
        if isfield(HDR,'iFs') & (HDR.iFs>0) & (HDR.iFs<inf),                        
                Fs=HDR.SampleRate(find(CHd==HDR.ADI.DB))/HDR.iFs;
	        data = repmat(nan,ceil(Len*size(HDR.SIE.T,2)/size(HDR.SIE.T,1)/Fs),length(HDR.SIE.ChanSelect));
        else
                Fs=1;
	        data = repmat(nan,ceil(Len*size(HDR.SIE.T,2)/size(HDR.SIE.T,1)),length(HDR.SIE.ChanSelect));
        end;
	count=0; count2=0;
        while (count2<Len), 
                cc = min(BLOCKSIZE,Len-count2);
                % [Len, count2, count, Fs, (Len-count2)*Fs, cc]
                % [CHd,idxlist(1),idxlist(length(idxlist)),Len,HDR.Var(CHd).Size(2)]
                [dta,c] = readnextblock4(HDR.FILE.FID,HDR.Var(CHd),cc);
                % ferror(HDR.FILE.FID)
                % [Len,cc,count,BLOCKSIZE,HDR.FILE.Pos,ftell(HDR.FILE.FID)],
                [nc,cc] = size(dta);
                
                % if any postprocessing, resample to internal Sampling rate iFs=1000Hz)
                if Fs~=1,
                        dta=rs(dta',Fs,1)'; %**************************************************************************************1
                end;

                if nc~=HDR.NS, % reorganizing of channels
	                dta=sparse(find(HDR.ADI.index{arg2}),1:sum(HDR.ADI.index{arg2}>0),1)*dta;
        	        dta(find(~HDR.ADI.index{arg2}),:)=nan;
                end;
                
                for k = sort(HDR.SIE.InChanSelect), %1:size(data,2);
                                %k=HDR.SIE.chanselect(K),
                	if k<=HDR.NS,
		                if HDR.SIE.FILT,
                                        [dta(k,:),HDR.Filter.Z(:,k)]=filter(HDR.Filter.B,HDR.Filter.A,dta(k,:),HDR.Filter.Z(:,k));
				end;                                        
                        end;
                end;	
                
                if HDR.SIE.RS,
                        dta = rs(dta(HDR.SIE.ChanSelect,:)',HDR.SIE.T); %RS%              ***********************************************2
                else
                    	dta = dta(HDR.SIE.ChanSelect,:)';    
                end;
                data(count+(1:size(dta,1)),:) = dta;
	        count  = count  + size(dta,1);
	        count2 = count2 + cc;
	end;
        
        %%%%% Overflow Detection %%%%%
        if HDR.SIE.TH,
                for k=1:find(~isnan(sum(HDR.SIE.THRESHOLD,2))),
	                ch  = phrchan(HDR.FILE.Name);
        	        tmp = (data(:,k)<HDR.SIE.THRESHOLD(1,k)) | (data(:,ch)>HDR.SIE.THRESHOLD(2,k));
                        data(tmp,k) = NaN;
                end;	
        end;
        
        % load time vector
	if nargout>2,
	if ~isempty(CHt),
		fseek(HDR.FILE.FID, round(HDR.Var(CHt).Pos + (idxlist(1)-1)*HDR.Var(CHt).SizeOfType),-1);
                [t,c]=readnextblock4(HDR.FILE.FID,HDR.Var(CHt),idxlist(length(idxlist))-min(idxlist)+1);
                if length(t)>1,
	                tmp=diff(t); 
        	        if any(abs(tmp-tmp(length(tmp)))>1000*eps)
                                fprintf(2,'Warning %s: Sampling is not equally spaced in %s [%i,%i]\n',mfilename,HDR.FileName,idxlist(1),idxlist(length(idxlist)));
                        end;	
                end;
                
		%%%%% Delay of Filtering
                if HDR.SIE.FILT,
                        t = t' + HDR.Filter.Delay;
                else
                        t = t';
                end;
                
                % if any postprocessing, resample to internal Sampling rate iFs=1000Hz)
                if isfield(HDR,'iFs') & (HDR.iFs>0) & (HDR.iFs<inf),                        
	                Fs=HDR.SampleRate(find(CHd==HDR.ADI.DB))/HDR.iFs;
        	        if Fs~=1,
                	        t=rs(t,Fs,1);           %*********************************************************************3
	                end;     
                end;
                
                %%%%% Resampling of the time
		if HDR.SIE.RS, 
                        t=rs(t,HDR.SIE.T); %RS%    %******************************************************************4
                end;
	else
       	       	fprintf(2,'Warning %s: timeindex is not available \n',mfilename);
	end;

	end;
end;


function [data,c]=readnextblock4(fid,VarInfo,Len),
       	dt=VarInfo.Type(3);
       	if     dt==0,       type = 'float64';
       	elseif dt==6,       type = 'uint8';
       	elseif dt==4,       type = 'uint16';
       	elseif dt==3,       type = 'int16';
       	elseif dt==2,       type = 'int32';
       	elseif dt==1,       type = 'float32';
        else
               fprintf(2,'Error %s: unknown data type\n',mfilename);
               return;
	end;
                
        [data,c]=fread(fid,[VarInfo.Size(1),Len],type);

        if VarInfo.Type(5);
                %HDR.ErrNo=-1;
                fprintf(2,'Warning %s: imaginary data not test\n',mfilename);
                        
                [di,c]=fread(fid,[VarInfo.Size(1),Len],type);
                data=data+i*di;
      	end;

	if VarInfo.Type(4)==1,data=char(data); end;
        
        

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品自拍一区| 国产精品毛片久久久久久| 久久久亚洲精品一区二区三区| 国产精品久久福利| 奇米精品一区二区三区四区| 97久久超碰国产精品电影| 久久蜜臀精品av| 日韩成人免费电影| 色综合咪咪久久| 中文字幕欧美区| 国产又黄又大久久| 欧美成人国产一区二区| 日本欧美在线观看| 欧美综合色免费| 亚洲欧美日韩国产综合| 粉嫩av一区二区三区| 欧美精品一区二区三区高清aⅴ| 亚洲成人动漫在线免费观看| 色综合久久精品| 国产精品国产三级国产普通话蜜臀 | 天堂成人国产精品一区| 色综合视频一区二区三区高清| 亚洲国产精品成人综合| 国产精品18久久久久久久久久久久| 欧美一级生活片| 午夜亚洲国产au精品一区二区| 欧美三级视频在线观看| 亚洲成人免费视频| 欧美日韩国产bt| 午夜影视日本亚洲欧洲精品| 精品视频在线免费观看| 日韩精品一二三| 欧美高清视频一二三区| 日韩av二区在线播放| 日韩一区二区免费高清| 久久国产精品第一页| 337p日本欧洲亚洲大胆精品| 激情小说欧美图片| 日韩女优av电影| 久久国产生活片100| 26uuu国产日韩综合| 国产酒店精品激情| 日韩一区中文字幕| 成人黄色综合网站| 中文幕一区二区三区久久蜜桃| 不卡视频在线看| 伊人色综合久久天天| 97超碰欧美中文字幕| 亚洲精品免费播放| 欧美日韩成人综合在线一区二区| 日本欧美韩国一区三区| 欧美成人a∨高清免费观看| 国产一区二区三区| 亚洲视频在线一区二区| 69久久99精品久久久久婷婷| 青青草97国产精品免费观看 | 国产精品一线二线三线| 亚洲欧美日韩国产另类专区| 日本精品一区二区三区高清| 一级做a爱片久久| 日韩一区二区三区精品视频| 国产精品2024| 亚洲成人在线观看视频| 久久久国产午夜精品| 不卡视频一二三| 亚洲成人激情社区| 国产日韩精品一区| 欧美肥大bbwbbw高潮| 国产传媒日韩欧美成人| 亚洲国产成人va在线观看天堂| 欧美一级片在线看| 色成人在线视频| 国内成人精品2018免费看| 中文字幕在线不卡视频| 日韩一级完整毛片| 91网站最新地址| 国产一区999| 日韩电影在线一区二区| 亚洲情趣在线观看| 精品成人免费观看| 欧美精品久久天天躁| 9久草视频在线视频精品| 日本在线播放一区二区三区| 亚洲免费在线看| 欧美国产一区二区| 精品国产免费久久 | 久久精品人人做人人爽人人| 欧美性大战久久| 97精品电影院| 国产一区二区91| 毛片av一区二区三区| 亚洲成人资源网| 久久99精品久久只有精品| 亚洲综合激情网| 亚洲素人一区二区| 中文字幕av一区二区三区免费看| 欧美精品v国产精品v日韩精品| 色综合欧美在线视频区| av日韩在线网站| 成人黄动漫网站免费app| 韩国精品久久久| 琪琪一区二区三区| 免费成人在线影院| 日日摸夜夜添夜夜添国产精品| 亚洲精品中文在线观看| 亚洲免费在线视频| 亚洲狼人国产精品| 亚洲四区在线观看| 亚洲激情校园春色| 亚洲线精品一区二区三区| 亚洲一区在线观看免费| 亚洲影视在线观看| 亚洲成年人影院| 天天色图综合网| 日本中文字幕一区| 日产国产欧美视频一区精品 | 亚洲一区二区三区中文字幕| 亚洲人妖av一区二区| 亚洲精品自拍动漫在线| 亚洲一卡二卡三卡四卡| 舔着乳尖日韩一区| 黄色精品一二区| 国产精品 日产精品 欧美精品| 国产电影精品久久禁18| 欧美日本一区二区| 欧美一区二区三区日韩视频| 欧美一区二区三区的| 精品成人在线观看| 国产精品天美传媒| 亚洲综合图片区| 麻豆精品一区二区av白丝在线| 精品一区二区三区的国产在线播放| 国产一区二区三区观看| 成人黄色免费短视频| 欧美亚洲一区三区| 欧美大片免费久久精品三p| 久久精品亚洲一区二区三区浴池| 国产欧美精品区一区二区三区| 中文字幕五月欧美| 亚洲成人精品在线观看| 久久99久久久久久久久久久| 国产麻豆91精品| 欧美自拍丝袜亚洲| 日韩免费视频一区二区| 国产精品进线69影院| 日韩高清在线观看| 国产大陆a不卡| 欧美揉bbbbb揉bbbbb| 久久久久久一二三区| 亚洲影院久久精品| 国产成人在线观看免费网站| 日本黄色一区二区| 久久久精品国产免大香伊| 亚洲一区二区黄色| 成人午夜激情影院| 91麻豆精品久久久久蜜臀| 亚洲欧洲精品一区二区三区| 水蜜桃久久夜色精品一区的特点 | 欧美二区乱c少妇| 国产精品日韩成人| 青青草国产成人99久久| 色悠悠亚洲一区二区| 久久久国产精华| 男女男精品视频| 91丝袜美女网| 国产婷婷色一区二区三区四区 | 欧美一级在线免费| 亚洲乱码日产精品bd| 国产一区二区美女诱惑| 777精品伊人久久久久大香线蕉| 中文字幕精品三区| 久久精品国产免费看久久精品| 欧美性xxxxxxxx| 亚洲人吸女人奶水| 成人av免费观看| 久久久久久久久久久久久女国产乱| 亚洲国产精品综合小说图片区| 成人动漫在线一区| 国产欧美日韩精品一区| 九九国产精品视频| 欧美嫩在线观看| 午夜视黄欧洲亚洲| 91福利在线看| 亚洲色图都市小说| 色综合天天综合狠狠| 中文字幕在线免费不卡| 国产99久久久国产精品| 久久久久久久久久电影| 国产一区二区调教| 精品成人在线观看| 韩国精品一区二区| 国产亚洲一区二区在线观看| 久久99精品国产麻豆婷婷洗澡| 欧美成人a视频| 国产伦精品一区二区三区免费| 欧美成人一区二区三区在线观看| 青青青爽久久午夜综合久久午夜| 欧美一级理论片| 久久av老司机精品网站导航| 亚洲视频 欧洲视频|