bgpz2007 发表于 2013-3-7 17:15

这一步怎么老出错:imf=emd(data); 大侠们进来看看那帮帮我



一运行到imf=emd(data);      
就出现       ??? Undefined function or method 'emd' for input arguments of type 'double'.         怎么回事?
大侠们帮帮忙!!!
以下是源程序:想得到下面给的图
clear;
N=1000;n=1:N;fs=1000;t=n/fs;
fx=10;fy=50;
x=cos(2*pi*fx*t);y=10*cos(2*pi*fy*t);
z=x+y;
data=z;
imf=emd(data);                        %对输入信号进行EMD分解   
=hhspectrum(imf);            %对IMF分量求取瞬时频率与振幅:A:是每个IMF的振幅向量,f:每个IMF对应的瞬时频率,t:时间序列号
=toimage(A,f);            %将每个IMF信号合成求取Hilbert谱,E:对应的振幅值,Cenf:每个网格对应的中心频率这里横轴为时间,纵轴为频率      
                                                   %即时频图(用颜色表示第三维值的大小)和三维图(三维坐标系:时间,中心频率,振幅)         
cemd_visu(data,1:length(data),imf);   %显示每个IMF分量及残余信号--------------------------------------------
disp_hhs(E);                        %希尔伯特谱----------------------------------------------------------
%画出边际谱
%N=length(Cenf);%设置频率点数   %完全从理论公式出发。网格化后中心频率很重要,大家从连续数据变为离散的角度去思考,相信应该很容易理解
for k=1:size(E,1)
    bjp(k)=sum(E(k,:))*1/fs;
end
figure(3);
plot(Cenf(1,:)*fs,bjp);% 作边际谱图   进行求取Hilbert谱时频率已经被抽样成具有一定窗长的离散频率,所以此时的频率轴已经是中心频率
xlabel('频率 / Hz');
ylabel('幅值');


ChaChing 发表于 2013-3-7 22:11

"Undefined function"
先搜一下, 很多类似的了

bgpz2007 发表于 2013-3-8 08:43

ChaChing 发表于 2013-3-7 22:11 static/image/common/back.gif
"Undefined function"
先搜一下, 很多类似的了

行!!哦我看看 谢谢啊

bgpz2007 发表于 2013-3-8 10:45

ChaChing 发表于 2013-3-7 22:11 static/image/common/back.gif
"Undefined function"
先搜一下, 很多类似的了

安装了个emd包 就可以运行了

bgpz2007 发表于 2013-3-8 10:48

ChaChing 发表于 2013-3-7 22:11 static/image/common/back.gif
"Undefined function"
先搜一下, 很多类似的了

总之 谢谢您啊

yghit08 发表于 2013-3-19 13:19

无意义帖,建议版主删除!

geoyang 发表于 2013-3-20 17:20

装个emd工具箱啊

cufflink 发表于 2015-6-14 17:35

纯粹学习,今天刚下载了程序。谢谢共享

pinboxiaohuo 发表于 2015-12-10 14:03

我也是类似问题,谢谢啦
页: [1]
查看完整版本: 这一步怎么老出错:imf=emd(data); 大侠们进来看看那帮帮我