⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 blockave.m

📁 含有多种ICA算法的eeglab工具箱
💻 M
字号:
% blockave() - make block average of concatenated data sets of same size %              Each data set is assumed to be of size (chans,frames).  % Usage: %        >> aveout = blockave(data,frames) %        >> aveout = blockave(data,frames,epochs,weights) % Inputs: %         data    = data matrix of size (chans,frames*epochs) %         frames  = columns per data epoch%         epochs  = vector of epochs to average {default|0 -> all}%         weights = vector of epoch weights {default|0 -> equal}%                   non-equal weights are normalized internally to sum=1% Output:%         aveout = averaged data of size (chans, frames)%% Author: Scott Makeig, SCCN/INC/UCSD, La Jolla, 1998 %123456789012345678901234567890123456789012345678901234567890123456789012% Copyright (C) 1998 Scott Makeig, SCCN/INC/UCSD, scott@sccn.ucsd.edu%% 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% $Log: blockave.m,v $% Revision 1.1  2002/04/05 17:36:45  jorn% Initial revision%% 5-14-98 improved error checking, allowed 2 args -sm% 01-25-02 reformated help & license -ad function ave = blockave(data,frames,epochs,weights)if nargin < 2  help blockave  returnendif nargin<3  epochs = 0;endif nargin<4  weights = nan;endif nargin>4  help blockaveend[chans,framestot]=size(data);nepochs = floor(framestot/frames);if nepochs*frames ~= framestot   fprintf('blockave(): frames arg does not divide data length,\n');   returnendif max(epochs) > nepochs   help blockave   returnendif min(epochs) < 1   if size(epochs,1)>1 | size(epochs,2) > 1     help blockave     return   else     epochs = 1:nepochs;   endendif ~isnan(weights)  if length(weights) ~= nepochs      fprintf(...  'blockave(): number of weights (%d) must match number of epochs (%d).\n',...                               length(weights),                  nepochs);  end  weights = weights/sum(weights); % normalizeendave = zeros(chans,frames);epochs = epochs(:)'; % make epochs a row vectorn = 1;for e=epochs   if isnan(weights)     ave = ave + data(:,(e-1)*frames+1:e*frames);   else     ave = ave + weights(n)*data(:,(e-1)*frames+1:e*frames);     n = n+1;   endendave = ave/length(epochs);

⌨️ 快捷键说明

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