Matlab小波功率譜的一些筆記

clear all
load 'sst.txt'
% normalize by standard deviation (not necessary, but makes it easier
% to compare with plot on Interactive Wavelet page, at
% "http://paos.colorado.edu/research/wavelets/plot/"
variance = std(sst)^2;
sst = (sst - mean(sst))/sqrt(variance) ;

n = length(sst);
dt =1 ;
time = [0:length(sst)-1]dt + 1971.0 ; % construct time array
xlim = [1971,2020]; % plotting range
pad = 1; % pad the time series with zeroes (recommended)
dj = 0.25; % this will do 4 sub-octaves per octave
s0 = 2
dt; % this says start at a scale of 24 months
j1 = 7/dj; % this says do 7 powers-of-two with dj sub-octaves each
lag1 = 0.72; % lag-1 autocorrelation for red noise background
mother = 'Morlet';

% Wavelet transform:
[wave,period,scale,coi] = wavelet(sst,dt,pad,dj,s0,j1,mother);
power = (abs(wave)).^2 ; % compute wavelet power spectrum

modulus=abs(wave); %計(jì)算小波系數(shù)的模
variance1=sum(power')/n;%計(jì)算小波方差
%畫小波系數(shù)實(shí)部等值線圖
% subplot(3,1,1)
levels = [-4,-3.5,-3,-2.5,-2.0,-1.5,-1.0,-0.5,0,0.5,1.0,1.5,2.0,2.5,3,3.5,4];
v = [-3.5,-3,-2.5,-2.0,-1.5,-1.0,-0.5,0,0.5,1.0,1.5,2.0,2.5,3,3.5];
Yticks = 0:10:50;
[c,h]=contourf(time,period,real(wave),levels,'k-');
clabel(c,h,v,'fontsize',5);
y=real(wave)
xlabel('年份/year')
ylabel('周期/年 period/year')
set(gca,'XLim',xlim(:))
set(gca,'YLim',[0 50], ...
'YDir','default', ...
'YTick',Yticks(:), ...
'YTickLabel',Yticks)
hold on
% 畫小波方差圖
subplot(3,1,2)
plot(period,variance1,'k-')
hold on;
levels= [0,10,20,30,40,50];
title('(b)')
set(gca,'XLim',[1 50], ...
'XTick',levels,...
'XTickLabel',levels)
xlabel('周期/a')
ylabel('方差 variance')
hold on

% Significance levels: (variance=1 for the normalized SST)
[signif,fft_theor] = wave_signif(1.0,dt,scale,0,lag1,-1,-1,mother);
sig95 = (signif')*(ones(1,n)); % expand signif --> (J+1)x(N) array
sig95 = power ./ sig95; % where ratio > 1, power is significant

% Global wavelet spectrum & significance levels:
global_ws = variance*(sum(power')/n); % time-average over all times
dof = n - scale; % the -scale corrects for padding at edges
global_signif = wave_signif(variance,dt,scale,1,lag1,-1,dof,mother);

% Scale-average between El Nino periods of 2--8 years
avg = find((scale >= 2) & (scale < 8));
Cdelta = 0.776; % this is for the MORLET wavelet
scale_avg = (scale')(ones(1,n)); % expand scale --> (J+1)x(N) array
scale_avg = power ./ scale_avg; % [Eqn(24)]
scale_avg = variance
djdt/Cdeltasum(scale_avg(avg,:)); % [Eqn(24)]
scaleavg_signif = wave_signif(variance,dt,scale,2,lag1,-1,[2,7.9],mother);

whos
% period=period(1:end-2);
% Yticks=Yticks(1:end-2);
%------------------------------------------------------ Plotting
levels = [0.0625,0.125,0.25,0.5,1,2,4,8,16] ;
Yticks = 2.^(fix(log2(min(period))):fix(log2(max(period))));
load('1.mat');
colormap(map(140:240,:))
contourf(time,log2(period),log2(power),log2(levels)); %*** or use 'contourfill'
%imagesc(time,log2(period),log2(power)); %*** uncomment for 'image' plot
xlabel('Time (year)','FontSize',14)
ylabel('Period (years)','FontSize',14)
title(' Wavelet Power Spectrum','FontSize',14)
set(gca,'XLim',[1959 2018]);
period=sort(period);
set(gca,'YLim',log2([min(period),max(period)]), ...
'YDir','reverse', ...
'YTick',log2(Yticks(:)), ...
'YTickLabel',Yticks)
hc = colorbar;
set(hc,'fontweight','Bold')
set(gca,'fontweight','Bold','FontSize',14);
% 95% significance contour, levels at -99 (fake) and 1 (95% signif)
hold on
contour(time,log2(period),sig95,[-99,1],'b','linewidth',2);
hold on
% cone-of-influence, anything "below" is dubious
plot(time,log2(coi),'k','linewidth',2)
hold off
axis xy
set(gca,'linewi',1)
set(gca,'YLim',[1 5])

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末窑滞,一起剝皮案震驚了整個(gè)濱河市杏愤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌陨舱,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件柳洋,死亡現(xiàn)場(chǎng)離奇詭異叔汁,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)乘碑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門挖息,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人兽肤,你說我怎么就攤上這事套腹⌒髋祝” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵电禀,是天一觀的道長(zhǎng)幢码。 經(jīng)常有香客問我,道長(zhǎng)尖飞,這世上最難降的妖魔是什么症副? 我笑而不...
    開封第一講書人閱讀 55,221評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮政基,結(jié)果婚禮上贞铣,老公的妹妹穿的比我還像新娘。我一直安慰自己沮明,他們只是感情好辕坝,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著荐健,像睡著了一般酱畅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上江场,一...
    開封第一講書人閱讀 49,007評(píng)論 1 284
  • 那天圣贸,我揣著相機(jī)與錄音,去河邊找鬼扛稽。 笑死吁峻,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的在张。 我是一名探鬼主播用含,決...
    沈念sama閱讀 38,313評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼帮匾!你這毒婦竟也來了啄骇?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,956評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤瘟斜,失蹤者是張志新(化名)和其女友劉穎缸夹,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體螺句,經(jīng)...
    沈念sama閱讀 43,441評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡虽惭,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蛇尚。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片芽唇。...
    茶點(diǎn)故事閱讀 38,018評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖取劫,靈堂內(nèi)的尸體忽然破棺而出匆笤,到底是詐尸還是另有隱情研侣,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評(píng)論 4 322
  • 正文 年R本政府宣布炮捧,位于F島的核電站庶诡,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏咆课。R本人自食惡果不足惜末誓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望傀蚌。 院中可真熱鬧基显,春花似錦蘸吓、人聲如沸善炫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽箩艺。三九已至,卻和暖如春宪萄,著一層夾襖步出監(jiān)牢的瞬間艺谆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評(píng)論 1 261
  • 我被黑心中介騙來泰國打工拜英, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留静汤,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,467評(píng)論 2 352
  • 正文 我出身青樓居凶,卻偏偏與公主長(zhǎng)得像虫给,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子侠碧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容