| 
 
	积分3962贡献 精华在线时间 小时注册时间2012-9-10最后登录1970-1-1 
 | 
 
 发表于 2012-11-15 12:20:44
|
显示全部楼层 
| njzqxt 发表于 2012-10-19 08:49 图出来了,谢谢!1961-2010年的。
 请帮着看看有什么问题。
 >> %最近需要学习小波分析,对论坛的小波分析有关的内容大概看了一下。
 %由于缺少注释或者有英文注释(可惜看不懂啊。。),程序运行过程出现问题
 %无法找出原因,令人十分困扰。小弟不才,
 %借用http://bbs.06climate.com/forum.php?mod=viewthread&tid=7519
 %中的程序(此程序经验证可单独使用),简单注释一下,
 %以方便后来学习的同志们,不到之处,敬请指出。
 
 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; % 见matlab小波用法简单翻译http://bbs.06climate.com/forum.p ... &extra=page%3D1
 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)
 ??? Undefined command/function 'wavelet'.
 
 请教下啊,我用这个为什么做了出错啊,能帮忙解答下不
 | 
 |