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

📄 imfpick.m

📁 fastest algorithm to find EMD.
💻 M
字号:
function [xx,index] = IMFpick(x,t,cumimf,tpow);% [y,idx] = IMFpick(x,t,cumimf,tpow) is a trace picker.  The cumulative EMD % for all traces in 'x' from MAT_EMD is used to determine how many IMFs% are required to produce the desired trace. 'tpow' scales the display% by t^tpow% % author: Bradley Matthew 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%% determine how many IMFs represent each tracenumIMF = size(cumimf,2)/size(x,2);% preallocate memory for the output tracesxx = zeros(size(x));index = zeros(1,size(x,2));% use a user-provided time-gain (or not)if ~isempty(tpow)    scale = repmat(t.^tpow,1,numIMF);else    scale = 1;end% loop through the cumulative-sum IMFsfor n=1:size(x,2)    cla;    idx = (n-1)*numIMF+1;    % plot the cumulative-sum IMFs for a given trace    y = cumimf(:,idx:idx+numIMF-1).*scale;    for m = 1:numIMF        plot(y(:,m)/max(y(:,m))+m,t);hold on    end        % make t0 the top of the graph and set axis limits    set(gca,'ydir','reverse',...        'xlim',[0 numIMF+1],'ylim',[min(t) max(t)]);    title(num2str(n));            % allow user to click the desired output trace from the figure    [buf1,buf2] = ginput(1);set(gcf,'Pointer','crosshair')        % get the trace number and output it    index(n) = round(buf1);    xx(:,n) = cumimf(:,idx+round(buf1)-1);end

⌨️ 快捷键说明

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