ambiguous 发表于 2008-5-4 13:10

这个emd.m应该怎么用

这个emd.m的程序看不太懂,能不能举例说下应该怎么应用

zhangnan3509 发表于 2008-5-4 14:12

回复 楼主 的帖子

注意看版里的置顶帖,关于emd部分的内容

ambiguous 发表于 2008-5-4 14:37

回复 2楼 的帖子

是这样,我是刚刚接触EMD,置顶的帖子里面提到的程序,,简单的说
function = emd(varargin)是一个变量,
function = emd(x,t,stop,tst);4个变量
emd原理明白,就程序本身来说读不太懂......也就是那4个变量是怎么应用的

jinnian 发表于 2008-5-4 14:47

楼主应该先看看黄锷的那篇文章。另外emd里面的注释也要仔细看一看。

[ 本帖最后由 jinnian 于 2008-5-4 14:48 编辑 ]

jinnian 发表于 2008-5-4 15:07

function = emd(varargin)是一个变量,
function = emd(x,t,stop,tst);4个变量
这两个是不矛盾的,function = emd(varargin)并不是一个变量的意思,因为紧接着有一行 = init(varargin{:});
其实一般就用imf=emd(x)的形式。如果要用的改变停止准则,或者想看一看具体的筛选过程才用到emd(x,t,stop,tst)的形式。另外,EMD有新的版本了,楼主怎么还用2002版的啊?

ambiguous 发表于 2008-5-4 15:34

回复 5楼 的帖子

我matlab不是很懂,我不是学信号的,我学通信的,,毕设做这个.我自己先研究下,谢谢2位,不明白我再上来:)

[ 本帖最后由 eight 于 2008-5-4 16:58 编辑 ]

ambiguous 发表于 2008-5-4 16:26

回复 5楼 的帖子

function = emd(x,t,stop,tst);最后1个变量是定义什么的,是控制停止的吗,下面是我写的一个线形调频信号的cmd,tst我应该怎么写
>> t=0:0.001:1;
>> x=chirp(t,2,1,100);
>> plot(t,x);grid;
>> 1:length(x);
>> t=0:0.001:1;
>> x=chirp(t,2,1,100);
>> plot(t,x);grid;
>> T=1:length(x);
>> stop=;
>> imf=emd(x,T,stop,?)
ps:我随便给个数,停不下来了:@L

jinnian 发表于 2008-5-4 16:38

tst取2的话,计算完毕后会自己停止的。取1的话,要不断按键,直到计算完毕。不要取其他值。其实你要是不想看那个分解的过程的话,就用imf=emd(x,T,stop)就行了,速度快很多。

[ 本帖最后由 jinnian 于 2008-5-4 16:44 编辑 ]

麦迪 发表于 2013-8-20 20:19

为什么emd(x)和emd(x,t,stop,tst)计算的结果出图后会不一样啊
页: [1]
查看完整版本: 这个emd.m应该怎么用