📄 mfbox_infomap.m
字号:
function [grid,newdata]=mfbox_infomap(timeline,data,oldgrid,newsd,newtl,infometh,maxiter,nbhfunc,nbhdeg)% usage: [grid,newdata]=mfbox_infomap(timeline,data,oldgrid,newsd,newtl,infometh,maxiter,nbhfunc,nbhdeg)%% Copyright by Peter Gruber% Signal Processing & Information Theory group% Institute of Biophysics, University of Regensburg, Germany% Homepage: http://research.fabian.theis.name% http://www-aglang.uni-regensburg.de%% This file is free software, subject to the% GNU GENERAL PUBLIC LICENSE, see gpl.txterror(nargchk(4,9,nargin));if (nargin<4), newtl = linspace(timeline(1),timeline(end),length(timeline)); endif (nargin<5), infometh = 'var'; endif (nargin<6), maxiter = 1000; endif (nargin<7), nbhfunc = 'exp'; endif (nargin<8), nbhdeg = 2; endsd = size(data);data = reshape(data,[],sd(end));if (length(timeline)~=size(data,2)), error('Wrong data dimension'); endgrid = diag(1./(newsd-1))*(mfbox_mkgrid(newsd)'-1);minog = min(oldgrid,[],2);maxog = max(oldgrid,[],2);grid = diag(maxog-minog)*grid+repmat(minog,1,size(grid,2));switch infometh case 'var' info = var(data,0,2); grid = mfbox_som(grid',newsd,oldgrid',info,'maxiter',maxiter)'; case 'kurt' info = kurtosis(data'); grid = mfbox_som(grid',newsd,oldgrid',info,'maxiter',maxiter)';endnewdata = zeros(prod(newsd),length(newtl),'single');for t=1:length(newtl) m = max(find(timeline<=newtl(t))); if (timeline(m)==newtl(t)) newdata(:,t) = mfbox_transgrid(oldgrid,data(:,m),grid); else r = timeline(m:(m+1)); og = [repmat(oldgrid,1,2);reshape(repmat([1,2],size(oldgrid,2),1),1,[])]; ng = [grid;repmat((newtl(t)-r(1))/(r*[-1;1]),1,size(grid,2))]; newdata(:,t) = mfbox_transgrid(og,reshape(data(:,m:(m+1)),[],1),ng); endendnewdata = reshape(newdata,[newsd,length(newtl)]);return
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -