- 积分
- 1061
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2013-4-16
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 狂奔的蜗牛 于 2013-4-19 14:40 编辑
通过下面的程序做的小波分析:
clear; %清除变量空间
load q.txt % 装载q.txt文件到MATLAB
sst = q; % 获取q.txt文件的句柄,返回给变量sst.
%------------------------------------------------------ Computation 计算
variance = std(sst)^2; % 计算sst的方差
sst = (sst - mean(sst))/sqrt(variance) ;
n = length(sst);
dt =1; %每个Y值之间的时间量 即 x轴的间距,影响图形的拉伸
time = [0:length(sst)-1]*dt + 1963.0 ; %此处时间“1963”可根据需要自行修改
xlim = [1962,2011]; %此处时间[1962,2011]可根据需要自行修改,即资料时间尺度
pad = 1;
dj = 1/12; %同上
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);%见matlab小波用法简单翻译
power = (abs(wave)).^2 ; % 求小波的功率谱 在此程序里用不上
realpart=real(wave); %求小波的实部
modulus=abs(wave); %求小波的模 在此程序里用不上
phase=atan2(imag(wave),real(wave)); % 求小波的阶 在此程序里用不上
%------------------------------------------------------ Plotting 画图 (以后有机会再详述)
% 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)
请问大家一下通过给的这个程序,如果我的数据是一维50年年数据,做的小波分析属于连续小波分析还是离散小波分析啊?假如是连续小波分析,那这个分析相对于一维数据来说,是简单的一维连续小波分析还是一维连续复小波分析呢?望楼主解答一下!!谢谢
|
|