声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2441|回复: 1

[HHT] emd端点延拓问题求教

[复制链接]
发表于 2018-3-8 17:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
求各位大神帮忙看下,下面这个端点延拓源程序应该这么用?原始信号用这个程序处理后得到的是延拓后的程序吗?怎么输出经过处理后的程序?(我的原始信号是个一维的压力数据)
   
端点延拓程序如下:
function [tmin,tmax,zmin,zmax] = 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 = [t(1) t(indmin) t(end)];
    tmax = [t(1) t(indmax) t(end)];
    % 返回纵坐标
    zmin = [zlmin z(indmin) zrmin];
    zmax = [zlmax z(indmax) zrmax];
end
回复
分享到:

使用道具 举报

 楼主| 发表于 2018-3-8 17:55 | 显示全部楼层
indmin,indmax这两个参数是干嘛的呢?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-8 22:53 , Processed in 0.072589 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表