登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
clear all;close all;clc; load 'D:\sst.txt' %input SST time series sst = sst; variance = std(sst)^2; sst = (sst -mean(sst))/sqrt(variance) ; n = length(sst); dt = 1 ; time = [0:length(sst)-1]*dt +1960.0 ; % construct time array xlim = [1960,2013]; %plotting range pad = 1; % padthe time series with zeroes (recommended) dj = 0.125; % thiswill do 4 sub-octaves per octave s0 = 2*dt; % thissays start at a scale of 6 months j1=fix((log(n*dt/s0)/log(2))/dj); %j1 = 7/dj; % this says do 7 powers-of-two with djsub-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 % 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 whos %--- Contour plot waveletpower spectrum subplot('position',[0.1 0.37 0.50.5]) levels =[0.0625,0.125,0.25,0.5,1,2,4,8,16] ; Yticks =2.^(fix(log2(min(period))):fix(log2(max(period)))); %Yticks =[0 4 8 12 16] contourf(time,log2(period),log2(power),log2(levels)); %***or use 'contourfill' %imagesc(time,log2(period),log2(power)); %*** uncomment for 'image' plot xlabel('Time (year)') ylabel('Period (years)') title('b) NINO3 SST Wavelet Power Spectrum') set(gca,'XLim',xlim(:)) set(gca,'YLim',log2([min(period),max(period)]),... 'YDir','reverse', ... 'YTick',log2(Yticks(:)), ... 'YTickLabel',Yticks) % 95% significancecontour, levels at -99 (fake) and 1 (95% signif) hold on contour(time,log2(period),sig95,[-99,1],'k'); hold on % cone-of-influence,anything "below" is dubious plot(time,log2(coi),'k') hold off 根据这段程序,运行出现图2,怎么调整可以将坐标调成图1的样子?
|