214670964 发表于 2012-3-14 10:09

做边际谱怎么老出错

data1=data(1:10000,1);
imf=emd(data1);
imf=imf(1:6,:);
=hhspectrum(imf);
=toimage(A,fa,tt,length(tt));
for k=1:size(E,1)
    bjp(k)=sum(E(k,:))*1/fs;
end
f=(0:N-3)/N*(fs/2);
subplot(212)
plot(f,bjp);
xlabel('频率 / Hz');
ylabel('幅值');
??? Error using ==> accumarray
Out of memory. Type HELP MEMORY for your options.

Error in ==> toimage at 98
im = accumarray(,A(:),);

haixiang008 发表于 2012-3-19 18:01

本帖最后由 haixiang008 于 2012-3-19 18:02 编辑

你的数据点过多,按照数据点设定的hilbert谱时频矩阵变量超出了matlab可用内存,你可以去掉toimage该条语句的输入变量tt,length(tt)这两项采用默认频率分辨率来解决该问题,或是降低数据采样点低于10000
页: [1]
查看完整版本: 做边际谱怎么老出错