Attempt to execute SCRIPT Emd2 as a function:

1个回答

  • 跟你的程序不太一样

    imf=emd(x);

    m=size(imf,1);

    figure

    for i=1:m

    subplot(m,1,i);

    plot(1:N,imf(i,1:N));

    ylabel(['imf',num2str(i)]);

    end %%IMF图

    y=0;

    for i=1:m

    y=imf(i,:)+y;

    end %%restructure

    a=corrcoef(x,y); %%完备性

    %求时频谱

    [A,f,t]=hhspectrum(imf(1:end-1, :));

    %绘制瞬时包络图和瞬时频率图

    figure;

    subplot(211),plot(t/N,f(1,:)*fs);xlabel('时间 t/s');ylabel('频率');title('imf1分量瞬时频率');

    subplot(212),plot(t/N,f(2,:)*fs);xlabel('时间 t/s');ylabel('频率');title('imf2分量瞬时频率');