MATLAB R2019a绘制时序数据小波方差图[新手向/保姆级]
本来是想画时间序列数据的小波方差图,看看数据的周期特征,结果实验效果差到怀疑人生哈哈哈哈哈,并没有达到我一开始的目的。不过还是学会了怎么用MATLAB来算,也算是有一丢丢收获吧~
- 打开MATLAB,点击‘导入数据’
- 找到自己Excel文件所在位置,选中,点击“打开”(Excel数据是一列的,不保存时间)
- 打开后界面如***意输出类型处选择列向量(默认是“表”),不然会出现
“file matlab.mat doesn't contain one dimensional signal”
的报错 - 点击右上对勾图标,将文件转换为MATLAB读取格式
- 然后在右边工作区可以看到数据了,右键保存
我这块是为了截图重复操作了一遍,所以文件命名是重复的,大家保存时注意一下 - 命名并保存
- 选择 APP ,在“更多”里找到小波分析(wavelet analyzer),为了方便使用,可以将它星标,这样后面就方便找了
- 点击“wavelet analyzer”,点击蓝色按钮那个选项
- 读入上面转换得到的MATLAB文件
- 导入后界面如下
- 点击右边的“analyze”,点击左上“save coefficients”保存小波系数
- 执行和第一步相同的操作,打开上步保存的“coefficients”文件
- 在命令行窗口输入
a = sum(abs(coefs).^2',2)
计算小波方差。看到有些博客说,小波方差就是每一尺度小波系数的平方和,但又有些不一样的说法,对应的公式好像也有点差别。我用的上面那个公式,大家用的时候看自己理解吧,找个自己觉得对的公式。。。我这个主要是讲清楚怎么用MATLAB。见谅。。。 - a就是计算得到的小波方差,绘制a就可以了。右键a,点击plot
卒。。。
辛辛苦苦安装MATLAB,又从0到0.001地去学习了点点小波相关的知识,折腾好几天,以为能借助小波方差图清楚看出数据的周期特征,画出来小波方差图后,感觉整个人都凌乱了。哈哈哈哈哈哈哈这是个啥呀,我设想的形状应该是酱的,然鹅。。。哎,科研不易呀~