livia_lee 发表于 2008-7-22 19:28

求助:EMD 的重建函数 reconstruction(IMF)

高手帮帮忙~ 我现在有所有基本的emd的 .m文档, 可我现在想用原有的函数编 重建函数。
顺序分解的emd.m是从original-->IMF1-->IMF2-->IMF3-->...........remainder(r)
式子是:IMF1=x(t)-m1 >> x(t) 是原数据函数,m1是原数据的最大值和最小值的平均数
            r1=x(t)-IMF1>>r1 是剩余数据部分
            ........
            r(n)=r(n-1)-c(n)

我现在要写一个函数 function x = reconstruction (imf)
可以从remainder(r)--->IMF3--->IMF2--->IMF1--->original
写成最后的式子:
            x(t)=sum(c(i)) + r(n)   
            i =1:n


各位高手帮帮忙吧,我是个新手。。。谢谢了~~~

[ 本帖最后由 zhangnan3509 于 2008-7-23 08:35 编辑 ]

zhangnan3509 发表于 2008-7-23 08:35

回复 楼主 的帖子

rilling的演示程序里面有这部分程序

livia_lee 发表于 2008-7-23 11:41

回复 2楼 的帖子

谢谢 可我没找到。。。 你能把code截下来给我看看吗
感激不尽~~~

livia_lee 发表于 2008-7-23 16:59

我写出来了 来分享下 是个挺笨的方法。。。
function =reconstruction(c)
% xt is orignal signal
% c is IMF
=size(c)               % c is 4*342, so xt will be 4*342; m is number of IMF
x=zeros(1,n)
for i=1:n
    for j=1:m
      x(i)=x(i)+c(j,i)
    end
end

xray 发表于 2008-7-23 17:15

回复 4楼 的帖子

其实,运用matlab矩阵编程的思想,一句话就可以了
x = sum(c);

livia_lee 发表于 2008-7-24 11:07

回复 5楼 的帖子

那个我也试过了,那样运行出来的结果是4个数,不是4*342的矩阵了。。。

海之魂 发表于 2008-10-27 11:22

5# 的答复应该是可以的,你是不是把行和列弄反了?
页: [1]
查看完整版本: 求助:EMD 的重建函数 reconstruction(IMF)