• 大小: 20KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-07
  • 语言: Matlab
  • 标签: LMD  matlab  程序  

资源简介

LMD局域均值分解matlab测试程序 写的不完善,还存在没有去处骑行波的问题 拿出来分享是希望有人能够完善该程序

资源截图

代码片段和文件信息

function [envmin envmaxenvmoyindminindmaxindzer] = envelope(txINTERP)
%computes envelopes and mean with various interpolations

NBSYM = 2; % 边界延拓点数
DEF_INTERP = ‘spline‘;


if nargin < 2
x = t;
t = 1:length(x);
INTERP = DEF_INTERP;
end

if nargin == 2
if ischar(x)
INTERP = x;
x = t;
t = 1:length(x);
end
end

if ~ischar(INTERP)
error(‘interp parameter must be ‘‘linear‘‘‘‘ ‘‘cubic‘‘ or ‘‘spline‘‘‘)
end

if ~any(strcmpi(INTERP{‘linear‘‘cubic‘‘spline‘}))
error(‘interp parameter must be ‘‘linear‘‘‘‘ ‘‘cubic‘‘ or ‘‘spline‘‘‘)
end

if min([size(x)size(t)]) > 1
error(‘x and t must be vectors‘)
end
s = size(x);
if s(1) > 1
x = x‘;
end
s = size(t);
if s(1) > 1
t = t‘;
end
if length(t) ~= length(x)
error(‘x and t must have the same length‘)
end

lx = length(x);
[indminindmaxindzer] = extr(xt);


%boundary conditions for interpolation

[tmintmaxxminxmax] = boundary_conditions(indminindmaxtxNBSYM);

% definition of envelopes from interpolation

envmax = interp1(tmaxxmaxtINTERP);
envmin = interp1(tminxmintINTERP);

if nargout > 2
    envmoy = (envmax + envmin)/2;
end

function [tmintmaxxminxmax] = boundary_conditions(indminindmaxtxnbsym)
% computes the boundary conditions for interpolation (mainly mirror symmetry)


lx = length(x);
% 判断极值点个数
if (length(indmin) + length(indmax) < 3)
error(‘not enough extrema‘)
end
% 插值的边界条件
if indmax(1) < indmin(1)% 第一个极值点是极大值
     if x(1) > x(indmin(1))% 以第一个极大值为对称中心
lmax = fliplr(indmax(2:min(endnbsym+1)));
lmin = fliplr(indmin(1:min(endnbsym)));
lsym = indmax(1);
else% 如果第一个采样值小于第一个极小值,则将认为该值是一个极小值,以该点为对称中心
lmax = fliplr(indmax(1:min(endnbsym)));
lmin = [fliplr(indmin(1:min(endnbsym-1)))1];
lsym = 1;
end
else

if x(1) < x(indmax(1))% 以第一个极小值为对称中心
lmax = fliplr(indmax(1:min(endnbsym)));
lmin = fliplr(indmin(2:min(endnbsym+1)));
lsym = indmin(1);
else% 如果第一个采样值大于第一个极大值,则将认为该值是一个极大值,以该点为对称中心
lmax = [fliplr(indmax(1:min(endnbsym-1)))1];
lmin = fliplr(indmin(1:min(endnbsym)));
lsym = 1;
end
end
    % 序列末尾情况与序列开头类似
if indmax(end) < indmin(end)
if x(end) < x(indmax(end))
rmax = fliplr(indmax(max(end-nbsym+11):end));
rmin = fliplr(indmin(max(end-nbsym1):end-1));
rsym = indmin(end);
else
rmax = [lxfliplr(indmax(max(end-nbsym+21):end))];
rmin = fliplr(indmin(max(end-nbsym+11):end));
rsym = lx;
end
else
if x(end) > x(indmin(end))
rmax = fliplr(indmax(max(end-nbsym1):end-1));
rmin = fliplr(indmin(max(end-nbsym+11):end));
rsym = indmax(end);
else
rmax = fliplr(indmax(max(end-nbsym+11):end));
rmin = [lxfliplr(indmin(max(end-nbsym+21):end))];
rsym = lx;
end
end
    % 将序列根据对称中心,镜像到两边
tlmin = 2*t(lsym)-t(lmin);
tlmax = 2*t(lsym)-t(lmax);
trmin = 2*t(rsym)-t(rmin);
trmax = 2*t(rsym)-t(rmax);
    
% in case symmetrized parts do not exte

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       6158  2010-12-14 19:35  lmd\envelope.m

     文件       5517  2011-01-15 21:17  lmd\example_lmd.asv

     文件       5514  2011-01-15 21:20  lmd\example_lmd.m

     文件        117  2010-12-15 21:35  lmd\example_shunpin.m

     文件       1246  2010-12-15 23:25  lmd\extrpoint.asv

     文件       1689  2011-01-15 15:19  lmd\hua_baoluo.m

     文件        687  2011-01-15 08:26  lmd\hua_fft1.m

     文件       1126  2011-01-13 16:29  lmd\hua_xihua.m

     文件         58  2010-12-15 23:23  lmd\link.m

     文件        945  2010-12-19 11:39  lmd\lmd1.asv

     文件        952  2010-12-19 11:42  lmd\lmd1.m

     文件       1221  2011-01-15 22:32  lmd\lmd2.asv

     文件       1184  2011-01-15 22:34  lmd\lmd2.m

     文件       1788  2011-01-15 21:38  lmd\lmd2_example.m

     文件       1914  2010-12-16 10:45  lmd\move.asv

     文件       1914  2010-12-16 10:46  lmd\move.m

     文件         96  2010-12-15 23:40  lmd\nengliang.m

     文件        185  2010-12-15 23:44  lmd\pos.m

     文件       1216  2010-12-15 23:43  lmd\position.m

     文件       1146  2010-12-16 11:00  lmd\shunpin.asv

     文件       1157  2010-12-16 11:04  lmd\shunpin.m

     文件        971  2010-12-16 10:56  lmd\smove.m

     文件        706  2010-12-17 08:13  lmd\test.m

     文件       1239  2011-01-15 22:21  lmd\testttt.m

     文件        416  2010-12-15 23:57  lmd\tiaozheng.m

     文件       6559  2011-01-15 21:22  lmd\zhaochun1.m

     目录          0  2011-03-14 11:00  lmd

----------- ---------  ---------- -----  ----

                45721                    27



............此处省略0个文件信息

评论

共有 条评论