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

📄 varsort.m

📁 含有多种ICA算法的eeglab工具箱
💻 M
字号:
% varsort() - reorder ICA components, largest to smallest, by %             the size of their MEAN projected variance %             across all time points% Usage:%   >> [windex,meanvar] = varsort(activations,weights,sphere);%% Inputs:%   activations = (chans,framestot) the runica() activations%   weights     = ica weight matrix from runica() %   sphere      = sphering matrix from runica() %% Outputs:%   windex   = order of projected component mean variances (large to small)%   meanvar  = projected component mean variance (in windex order)%% Author: Scott Makeig & Martin McKeown, SCCN/INC/UCSD, La Jolla, 09-01-1997 %% See also: runica()% Copyright (C) 9-01-1997 Scott Makeig & Martin McKeown, 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: varsort.m,v $% Revision 1.1  2002/04/05 17:36:45  jorn% Initial revision%% 03-19-97 simplified, replaced grandmean with datamean info in calculation, %          made function return mean projected variance across the data, %          changed var() to diag(cov()) -sm% 05-20-97 use sum-of-squares instead of diag() to allow long data sets -sm% 06-07-97 changed order of args to conform to runica, fixed meanvar computation -sm% 07-25-97 removed datamean -sm% 01-25-02 reformated help & license, added link -ad function [windex,meanvar] = varsort(activations,weights,sphere)%if nargin ~= 3     % needs all 3 args     help varsort     returnend[chans,framestot] = size(activations);if framestot==0,    fprintf('Gvarsort(): cannot process an empty activations array.\n\n');    returnend;[srows,scols] = size(sphere);[wrows,wcols] = size(weights);if nargin<3,    fprintf('Gvarsort(): needs at least 3 arguments.\n\n');    returnend;% activations = (wrows,wcols)X(srows,scols)X(chans,framestot)if chans ~= scols | srows ~= wcols,   fprintf('varsort(): input data dimensions do not match.\n');   fprintf('              i.e., Either %d ~= %d or %d ~= %d\n',...                                     chans,scols,srows,wcols);   returnend%%%%%%%%%%%%%%%%%%%% Find mean variances %%%%%%%%%%%%%%%%%%%%%%%%%%%%%fprintf('Computing mean projected variance for all %d components:\n',wrows);meanvar  = zeros(wrows,1);  % size of the projectionswinv = inv(weights*sphere);for s=1:wrows     fprintf('%d ',s);      % construct single-component data matrix                            % project to scalp, then add row means     compproj = winv(:,s)*activations(s,:);    meanvar(s) = mean(sum(compproj.*compproj)/(size(compproj,1)-1));                            % compute mean variance end                         % at all scalp channels%%%%%%%%%%%%%%%%%%% sort by mean variance %%%%%%%%%%%%%%%%%%%%%%%%%%%%%[sortvar, windex] = sort(meanvar);windex = windex(wrows:-1:1);% order large to small meanvar = meanvar(windex);fprintf('\n');

⌨️ 快捷键说明

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