本帖最后由 wdhd 于 2016-9-20 13:10 编辑
原帖由 tangaoming 于 2007-6-28 18:05 发表
不,我是最新版的程序,而且matlab是2007a版本的,应该没有什么问题,数据我是用emd分解后取前四行的数据,命令:
[A,ff,tt]=hhspectrum(IMF(1:4,:));
N=61440;fs=102.4;[E,tt1]=toimage(A,ff,tt,length(tt)) ...
根据你的情况,在toimage函数中,对应的处理方式是这样的
t = varargin{1};
sply = varargin{2}; % sply = 61440;
splx = length(t); % splx = 61440;
而随后调用
im = accumarray([indf(:),indt(:)],A(:),[sply,splx]);
会生成一个sply*splx (即61440*61440)的矩阵,对于matalb来说,这个矩阵太大了,当然会报错。
解决方法:
(1) 如果要画数据全局变化趋势,对数据进行适当的抽取,降低数据量
(2) 如果要研究数据的局部变化,选择部分数据进行绘图 |