zhlong 发表于 2007-9-3 20:34

回复 #7 kevin19821 的帖子

help size 看看

xray 发表于 2007-9-3 20:53

回复 #1 zhlong 的帖子

zhlong 的注释写得挺好,但是个人觉得有两处值得商榷:
(1)if d(i)==0                        % we are on a zero %%导数为0的点,即”驻点“,但驻点不一定都是极值点,如y=x^3的x=0处
这个地方可不是为了找”驻点“,它是为了处理出现峰值相等的情况,例如
x = [ 0 0 1 4 4 1 0 0 ];
这种数据在对正弦波非周期采样时可能会遇到。
在程序中,把第一个4的地方作为峰值。
(2)elseif sign(d(i))~=sign(d(i+1))   % we are straddling a zero so%%如y=|x|在x=0处是极值点,但该点倒数不存在,所以不能用上面的判断方法
同理,这里也不是为了判断导数,这句话是处理正常的情况,例如
x = [ 0 0 1 4 1 0 0 ];      
这就是通常意义下的峰值。
此外,个人认为采用 diff求最值的过程中,跟连续信号的求导并没有直接的联系,因为离散数据本身并不存在所谓的连续性问题,所以极值是一定可以通过计算获得的。                                                   
ps. 在这个程序中输入参数n并没有起到作用

[ 本帖最后由 zhlong 于 2007-9-3 21:03 编辑 ]

zhlong 发表于 2007-9-3 21:07

回复 #17 xray 的帖子

非常感谢xary的指正!:handshake 一定要经常光临本版指导工作啊!
我后来也觉得这两个地方有问题,但没有深究,误导了各位版友,向大家道歉:loveliness: 。

zhangnan3509 发表于 2007-9-3 21:13

回复 #18 zhlong 的帖子

你不用太客气,其实你转贴的内容无论对错 都是一个参照,相信仔细看过这个帖子的人都会和rilling的程序作一个比较,也是促进理解啊 :handshake

zzztianshi 发表于 2009-9-28 10:56

回复 5楼 qinle 的帖子

:@) 您好,我运行这个程序出现错误,请问该怎么做呢?

zzztianshi 发表于 2009-9-28 10:58

回复 14楼 kevin19821 的帖子

请问您怎么使用楼主程序加曲线延拓运行的啊?初学不懂,忘指教!

td21 发表于 2013-3-23 20:29

谢谢楼主

唐三否 发表于 2013-5-8 19:05

感谢分享!
页: 1 [2]
查看完整版本: 转网上的一个简单直观的EMD程序,有助初学理解