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

📄 mat_emd.m

📁 fastest algorithm to find EMD.
💻 M
字号:
function [IMF,cumIMF] = mat_emd(x,numIMF,MAXITERATIONS);% [IMF,CUM_IMF] = MAT_EMD(X,nIMF,nITS) loops over all%   columns in X, performing the empirical mode decomposition%   on each one.  The outputs are two matrices each having%   the same number of rows as X but with X*nIMF columns.  The %   EMD is performed with nITS as the sifting limit. IMF%   contains the intrinsic mode functions while CUM_IMF%   consists of the cumulative sums for each IMF such that the%   X = cumIMF(nIMF:nIMF:end) % % author: Bradley M. Battista%   University of South Carolina%   Department of Geological Sciences%   701 Sumter Street, EWS 617%   Columbia, SC. 29208%% COPYRIGHT: see the associated COPYRIGHT.txt file, and also% http://software.seg.org/disclaimer2.txt% This source code may be found online at:% http://software.seg.org/2007/0003%% Pre-allocate memory for IMFsIMF = zeros(size(x,1),size(x,2)*numIMF);cumIMF = IMF;% Loop the EMD over all columnsh = waitbar(0,'Working on data');hh = get(get(h,'children'),'title');sz = size(x,2);for n = 1:sz;    set(hh,'String',...        ['Working: ',num2str(n),' of ',num2str(sz),' traces.']);    waitbar(n/sz,h);    % Perform EMD on the n^th trace    imf = semd(x(:,n),numIMF-1,MAXITERATIONS);        % Pad with zeros to get 'nm_IMF' IMFs...    if size(imf,2) < numIMF        imf(:,size(imf,2)+1:numIMF) = 0;    end        % Cumulative sums of IMFs one thru sz    cumimf = cumsum(imf,2);        % Determine where the IMFs should be written    idx = (n-1)*numIMF+1;        % Write the IMFs into the big bank of IMFs    IMF(:,idx:idx+numIMF-1) = imf;    cumIMF(:,idx:idx+numIMF-1) = cumimf;endclose(h);

⌨️ 快捷键说明

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