爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 31310|回复: 16

[参考资料] MATLAB小波分析

[复制链接]

新浪微博达人勋

发表于 2020-5-10 10:14:04 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
我用的方法是依据《时间序列的小波分析》这篇文献做的
数据是Excel,使用MATLAB2017,绘制等值线也可以用MATLAB一并完成
方便大家利用,接下来帖子采用截图加文字的方式
如果有错误的地方评论区帮忙指正一下,方便大家做论文。

时间序列小波分析(更新后).doc

895.5 KB, 下载次数: 167, 下载积分: 金钱 -5

密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2020-5-10 10:26:58 | 显示全部楼层
第一张图,直接将需要处理的Excel文件拖到打开的MATLAB程序里,弹出Excel导入工具,图中的年月日不用导入,导入第四列pm10数据即可,现选择2000至2001年的数据右键点击导入所选内容,工作区会出现数据表格,然后全选表格中的数据内容右键(根据所选内容新建数据变量----新建数值数组)得到pm10数据数组
2020-05-10.png
2020-05-10 (1).png
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-5-10 10:47:52 | 显示全部楼层
下一步,命令行窗口输入wavemenu,弹出小波工具箱,文献中用到的是画横线的两个,左上角是做小波分析的,右下角是做数据延伸的,先做数据延伸(减小边界效应),然后将延伸后的数据做小波分析,这里要记住做数据延伸时数据左右两端各延伸了多少数据。
以我导入的数据为例长度为564,点击signal extension,点击file,点击import signal from workspace,选择pm10数组得到图二,右边可以选择延伸后的数据长度,单侧延伸或双侧延伸,点击extend延伸即可,然后点击file,export signal to workspace,将延伸后的数据放到工作区上,数据延伸就做完了
图中数据长度延伸到了1024,相当于左右两端各延伸了230个数据
2020-05-10 (2)_LI.jpg
2020-05-10 (4).png
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-5-10 11:06:25 | 显示全部楼层
接下来单击左上角横线打开一维复连续小波界面,file,从工作区中导入数据,选择延伸后的数据,我这里存的名字是my-var-1,得到图一,在wavelet选项中选择cmor小波,在max框中可以手动输入小波分析的尺度,最大可以达到数据长度的一半,然后点击分析就行了
分析之后file,输出数据到工作区自定义个名字,在工作区中找到分析后数据(my-var-2),点击它,其中有用的是coefs,64*1024的那个数组,点击它,根据前面数据延伸的长度,左右两边各删掉230列。
2020-05-10 (5).png
2020-05-10 (6).png
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-5-10 11:20:27 | 显示全部楼层
下一步绘制小波系数等值线图,这里我把复小波系数数组名字改成xx.coefs了,令x=real(xx.coefs)(求小波系数实部),将得到的x打开全选在绘图中点击contour可以得到实部等值线图,或者在命令窗口输入contour(x)也可以
绘制小波系数模图令y=abs(xx.coefs)(复数求模)即可同理绘制y等值线图
绘制模方等值线图将y取平方即可
2020-05-10 (7).png
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-5-10 11:32:12 | 显示全部楼层
绘制小波方差图,点开小波实部数组(x),全选右键专制变量,MATLAB计算方差var()函数计算的是数组每列数据,我们需要计算的是时间尺度1-64的每行数据方差所以需要先转置变量将行换成列,然后计算v=var(x),得到小波方差数据,全选v中数据,绘图中点击plot或命令窗口plot(v)可以得到小波方差图
小波方差图中每一个峰代表一个显著波动周期,峰值越大波动能量越大,峰值对应的横坐标就是相应波动的周期,图中可以看出有三个周期,主周期60天左右,次周期25天附近,第三周期12天附近
2020-05-10 (8).png
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-5-10 11:50:36 | 显示全部楼层
最后主周期趋势图,主周期60天,选择实部数组中的第60列(转置变量后是第60列,之前是60行)(同原理也可以绘制其他周期趋势图),点击绘图plot得到趋势图
在图窗中点击查看可以使用图窗选项板(看到可用的绘图数据,选择图片排版方式,二维或三维图片等等),绘图浏览器(一张图中有多条曲线时可以选择它暂时隐藏某条曲线),属性编辑器(简单编辑可以改变线条颜色粗细,坐标取值范围及间隔,使用对数坐标系等等)
在图窗中点击插入可以添加图片标题,坐标轴标题等等
应用以上内容使图片刚加美观
图片保存可以选择多种格式,但是有些是只有MATLAB才能识别,不能放到论文上,所以可以在图窗编辑好在复制粘贴图片到论文中,这种情况Word只能缩放图片不能编辑图片,所以一定把图片编辑好再复制粘贴
2020-05-10 (9).png
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-5-11 22:26:50 | 显示全部楼层
爱你么么哒
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-10-27 21:09:23 | 显示全部楼层
感谢大佬,已实现降水数据的小波分析
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-11-24 09:57:37 | 显示全部楼层
感谢大佬,可以说这份教程很详细了
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表