信号小虾米 发表于 2018-3-8 17:41

emd端点延拓问题求教

求各位大神帮忙看下,下面这个端点延拓源程序应该这么用?原始信号用这个程序处理后得到的是延拓后的程序吗?怎么输出经过处理后的程序?(我的原始信号是个一维的压力数据)
   
端点延拓程序如下:
function = boundary_conditions_rependp(indmin,indmax,t,x,z)

    % boundary conditions for interpolations :

    zlmax=z(1);
    zrmax=z(end);
    %延拓极大值
    if length(indmax)>4
      %序列左端
      sl=(z(indmax(2))-z(indmax(1)))/(indmax(2)-indmax(1));%第一个和第二个极大值点所在直线的斜率
      tmpl=z(indmax(1))-sl*(indmax(1)-t(1));%该直线在t(1)的值
      if tmpl>z(1)
            zlmax=tmpl;
      end
      %序列右端
      sr=(z(indmax(end-1))-z(indmax(end)))/(indmax(end-1)-indmax(end));
      tmpr=z(indmax(end))-sr*(indmax(end)-t(end));
      if tmpr>z(end)
            zrmax=tmpr;
      end
    end
   
    zlmin=z(1);
    zrmin=z(end);
    %延拓极小值
    if length(indmin)>4
      sl=(z(indmin(2))-z(indmin(1)))/(indmin(2)-indmin(1));
      tmpl=z(indmin(1))-sl*(indmin(1)-t(1));
      if tmpl<z(1)
            zlmin=tmpl;
      end
      sr=(z(indmin(end-1))-z(indmin(end)))/(indmin(end-1)-indmin(end));
      tmpr=z(indmin(end))-sr*(indmin(end)-t(end));
      if tmpr<z(end)
            zrmin=tmpr;
      end
    end
    % 完成延拓,更新处理后的序列
    % 返回横坐标
    tmin = ;
    tmax = ;
    % 返回纵坐标
    zmin = ;
    zmax = ;
end

信号小虾米 发表于 2018-3-8 17:55

indmin,indmax这两个参数是干嘛的呢?
页: [1]
查看完整版本: emd端点延拓问题求教