代码没啥明显问题,出现问题的可能1.原始信号中可能本身就没有尺度5以下的信息,这和你原始信号的特征还有采样多少有关。2.使用的contourf函数,在matlab中所有与二维网格化有关的问题都解决的不好,contourf函数对实际数据绘制的等值线图有时就是惨不忍睹,对于数值较小或较大的不连续区域可能绘不出等值线,而尺度5以下小波系数分布都比较细碎或数值比较其他区域相差较大,这样就绘不出等值线喽!
另外,还想对这种周期分析谈一些个人看法。对于CWT中的尺度是与所用小波函数的数学性质有关的,与所用的小波函数的中心频率有关,根本不是上面的这种理解。连续小波变换对尺度的定义根本不是时间尺度,它是没有量纲的(还扯什么年),上面的程序没错,但对小波分析的理解是错误的。CWT的尺度到底与时间如何对应要通过所用的小波函数的中心频率、采样点数和经历时间计算(就是采样频率)。一直都见到有人这么搞,其实一直都是错的,没办法审稿人也只是混饭吃的棒槌,搞得错误文章满天飞,祸害后来人呐!