我才用matlab,不知道能不能帮我看看为什么不能返回值
function noiseremove = emdnoiseremove(x,Ts)imf = emd(x);
n = 1;
for k = 1:length(imf)
th = angle(hilbert(imf{k}));
d{k} = diff(th)/Ts/(2*pi);
if (mean(d{k}) > 50) && (mean(d{k}) < 200)
n = n +1;
noiseremove{n} = imf{k};
end
end
我对matlab不熟悉,我是这个函数是想选取EMD分量中,平均频率在50-200HZ之间的分量,作为最后的返回值。
希望哪位高手帮我一下,谢谢了!
页:
[1]