- 积分
- 316
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-12-16
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
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
评分
-
查看全部评分
|