• 大小: 60KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-05-29
  • 语言: 其他
  • 标签: matlab  

资源简介

ceemd分解,还是很不错的,先将数据精心ceemd分解,得到imf分量,然后通过相关系数帅选分量,在求出他们的信息熵的特征,完美运行,你值得拥有,可以的话,给一个好评,谢谢。

资源截图

代码片段和文件信息

% Y: Inputted data;
% Nstd: ratio of the standard deviation of the added noise and that of Y;
% NE: Ensemble member being used
% TNM: total number of modes (not including the trend)
%
function allmode=ceemd(YNstdNETNM)
% find data length
xsize=length(Y);
dd=1:1:xsize;
% Nornaliz data
Ystd=std(Y);
Y=Y/Ystd;
% Initialize saved data
TNM2=TNM+2;
for kk=1:1:TNM2
    for ii=1:1:xsize
        allmode(iikk)=0.0;
    end
end

for iii=1:1:NE
% adding noise
    for i=1:xsize
        temp=randn(11)*Nstd;
        X1(i)=Y(i)+temp;
        X2(i)=Y(i)-temp;
    end

    % sifting X1
    xorigin = X1;
    xend = xorigin;
% save the initial data into the first column
    for jj=1:1:xsize
        mode(jj1) = xorigin(jj);
    end
    nmode = 1;
    while nmode <= TNM
         xstart = xend;
        iter = 1;
        while iter<=5
             [spmax spmin flag]=extrema(xstart);
             upper= spline(spmax(:1)spmax(:2)dd);
             lower= spline(spmin(:1)spmin(:2)dd);
             mean_ul = (upper + lower)/2;
             xstart = xstart - mean_ul;
             iter = iter +1;
        end
        xend = xend - xstart;
        nmode=nmode+1;
        % save a mode
        for jj=1:1:xsize
            mode(jjnmode) = xstart(jj);
        end
    end
    % save the trend
    for jj=1:1:xsize
        mode(jjnmode+1)=xend(jj);
    end
    % add mode to the sum of modes from earlier ensemble members
    allmode=allmode+mode;

   %%%=============================================================
   % sifting X2
   xorigin = X2;
   xend = xorigin;
   % save the initial data into the first column
   for jj=1:1:xsize
        mode(jj1) = xorigin(jj);
   end
   nmode = 1;
   while nmode <= TNM
       xstart = xend;
       iter = 1;
       while iter<=5
           [spmax spmin flag]=extrema(xstart);
           upper= spline(spmax(:1)spmax(:2)dd);
           lower= spline(spmin(:1)spmin(:2)dd);
           mean_ul = (upper + lower)/2;
           xstart = xstart - mean_ul;
           iter = iter +1;
       end
       xend = xend - xstart;
       nmode=nmode+1;
       % save a mode
       for jj=1:1:xsize
           mode(jjnmode) = xstart(jj);
       end
   end
    % save the trend
    for jj=1:1:xsize
        mode(jjnmode+1)=xend(jj);
    end
    % add mode to the sum of modes from earlier ensemble members
    allmode=allmode+mode;
    %fprintf(‘-‘);
end
% ensemble average
allmode=allmode/NE/2;
% Rescale mode to origional unit.
allmode=allmode*Ystd;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-01-14 14:15  C-信息熵\
     文件       59820  2018-12-27 22:47  C-信息熵\20151124_08_15Bin粗卡阀.xlsx
     文件        2603  2014-04-01 21:11  C-信息熵\ceemd.m
     文件        1189  2019-01-14 13:52  C-信息熵\CEEMD分解-信息熵特征.m
     文件        2180  2011-10-21 09:02  C-信息熵\extrema.m

评论

共有 条评论