toimage执行错误,搜遍论坛找不到答案,有类似问题的学友很多!
= hhspectrum(imf);= toimage(A,f,tt,length(tt));
disp_hhs(E,[],fs);
??? Error using ==> unknown
Out of memory. Type HELP MEMORY for your options.
Error in ==> log10 at 20
y = log2(x);
Error in ==> disp_hhs at 67
im = 10*log10(im/M);
请问高人究竟怎么解决,这非常重要!
别告诉我用下面语句代替:
= hhspectrum(imf(1:end-1,:));
= toimage(A,f,tt);
disp_hhs(E,[],fs);
这两种语句画出的图差别很大!!细心的学友应该有类似经验!
比如分析下列的非常简单的信号(论坛里一网友提供的):
fs=1000;
tspan=1;
t=1/fs:1/fs:tspan;
N=1000;
x2=sin(2*25*pi*t)+5*sin(2*75*pi*t);
xn=x2;
如果分别用上面两套画hhs的语句作图,会发现差别巨大。随之作出的边际谱图形也是差别很大。
也别告诉我计算机内存不够、数据太长溢出什么的,我选取了6000点数据,应该属于小儿科范围!
请真正懂的兄弟点拨小弟一下!先谢过了:)
[ 本帖最后由 laughing 于 2008-11-23 11:29 编辑 ]
能不能把你的图粘贴上来看看
把你计算结果图片发上来看看。还有你的数据上传一下。 用你的例子我演示了一下
如下图
他们的区别就是前者多了一条25Hz的线
那是因为前者的HHT谱是画出了所有的IMF分量, = hhspectrum(imf);
而后者的HHT谱,画出了除最后一条IMF分量的所有分量, = hhspectrum(imf(1:end-1,:));
楼主,你的程序不一样,画出的图当然不一样了,还有其他大的区别吗 哈哈,谢谢baobao点拨,明白了:)
页:
[1]