爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 78147|回复: 219

[源程序] matlab小波分析程序,详细解释消除所有运行问题,完全可用!

  [复制链接]

新浪微博达人勋

发表于 2013-1-8 17:39:58 | 显示全部楼层 |阅读模式

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

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

x
%这个源程序在以前的好多帖子中都涉及到了,这个源程序是两个外国人编的,流传时间比较长,其中还有检验,这里只说明小波分析。
%附件中有三个程序,主程序是rain,其他两个是调用函数(wave_let、wavebases),这里只说明主程序rain
%涉及的三个帖子分别为
%1.http://bbs.06climate.com/forum.php?mod=viewthread&tid=11368
%2.http://bbs.06climate.com/forum.p ... &extra=page%3D1
%3.http://bbs.06climate.com/forum.p ... &extra=page%3D2
sst =‘ 你的数据’;%使用自己的数据
variance = std(sst)^2;
sst = (sst - mean(sst))/sqrt(variance) ;
n = length(sst);
dt =1;
time = (1964:2011);%对源程序进行了修改,原程序在这一步未充分利用matlab‘:’的功能。  
xlim = [1964,2011]; % 注意自己修改
pad = 1;      
dj = 0.1;   
s0 = 2*dt;   
j1 =fix((log(n*dt/s0)/log(2))/dj);  
mother = 'Morlet';
% Wavelet transform:
[wave,period,scale,coi] = wavelet(sst,dt,pad,dj,s0,j1,mother);%wavelet是一个自编函数,在附件中
power = (abs(wave)).^2 ;      
realpart=real(wave);
modulus=abs(wave);  
phase=atan2(imag(wave),real(wave));
%------------------------------------------------------ Plotting为了让图片效果更好,源程序对纵坐标就行了压缩处理,取log2 (实际值)为纵坐标,在标注时,依然标注实际值,所以纵坐标不是均匀刻度
% Plot wavelet coefficients of time series
subplot('position',[0.10 0.30 0.80 0.60])
Yticks = 2.^(fix(log2(min(period))):fix(log2(max(period))));%纵坐标刻度值
[c,h]=contour(time,(log2(period)),realpart,'-');  
clabel(c,h);
xlabel('Time (year)')
ylabel('Period (years)')
%title('a) Morlet Wavelet Real Part of the Temperature Anomaly Series')
set(gca,'XLim',xlim(:))
set(gca,'YLim',log2([min(period),max(period)]), ...
    'YDir','default', ...
'YTick',log2(Yticks(:)), ...
'YTickLabel',Yticks)



小波分析.zip

4.76 KB, 阅读权限: 10, 下载次数: 714, 下载积分: 金钱 -5

评分

参与人数 3金钱 +17 贡献 +3 收起 理由
黑今之马户 + 5 赞一个!
chenx743 + 2 很给力!
mofangbao + 10 + 3

查看全部评分

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

新浪微博达人勋

0
早起挑战累计收入
发表于 2013-1-8 19:34:34 | 显示全部楼层
楼主自己加的解释?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-1-8 21:16:57 | 显示全部楼层
分析很到位,供同学们好好学习啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-1-8 21:17:09 | 显示全部楼层
分析很到位,供同学们好好学习啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-1-8 21:35:02 | 显示全部楼层
wave_let、wavebases这两个函数作用,楼主帮忙解释下?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-1-8 22:25:52 | 显示全部楼层
感谢楼主分享!!!!最近很多关于小波分析的帖子啊。很好,很强大!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-1-8 22:43:29 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-1-8 22:44:35 | 显示全部楼层
kongfeng0824 发表于 2013-1-8 22:25
感谢楼主分享!!!!最近很多关于小波分析的帖子啊。很好,很强大!

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

新浪微博达人勋

 楼主| 发表于 2013-1-8 22:49:52 | 显示全部楼层
比特仑苏还纯 发表于 2013-1-8 21:35
wave_let、wavebases这两个函数作用,楼主帮忙解释下?

主函数(rain)调用计算小波系数的函数(wave_let),计算小波系数的函数(wave_let)中调用了描述基函数的子程序(wavebases),例如程序中的“mother = 'Morlet'”;就指定了基函数为“morlet”。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-1-10 13:55:06 | 显示全部楼层
我是新手,怎么运行这些程序呀,是将主程序和调用函数都要拷贝在comand window里吗?
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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