- 积分
- 5313
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-6-23
- 最后登录
- 1970-1-1
|
发表于 2016-4-26 09:23:39
|
显示全部楼层
- clc;clear;
- %% 读取数据
- myData=xlsread('H:\极端气温变化\年最高气温.xls'); % 读取数据
- timeSeries=myData(:,1); % 时间序列数据
- dataSeries=myData(:,2);
- dataCount=length(dataSeries);
- %% 设置步长与检验值
- step=10; % 步长
- v=step+step-2; % 计算自由度
- ttest=2.878; % 查表得t检验值,修改
- len1=step;
- len2=step;
- x=timeSeries(step:dataCount-step);
- for i=step:dataCount-step
- n1=dataSeries(i-step+1:i);
- n2=dataSeries(i+1:i+step);
- mean1=mean(n1);
- mean2=mean(n2);
- c=(len1+len2)/(len1*len2);
- var1=1/len1*sum((n1-mean1).^2);
- var2=1/len2*sum((n2-mean2).^2);
- delta1=len1*var1+len2*var2;
- delta=delta1/(len1+len2-2);
- t(i-step+1)=(mean1-mean2)/sqrt(delta*c);
- end
- %% 制图
- figure(1);
- plot(x,t,'r-','linewidth',1.5);
- xlabel('t (year)','FontName','TimesNewRoman','FontSize',12);
- ylabel('统计量','FontName','TimesNewRoman','Fontsize',12);
- axis([min(x),max(x),-4,4]);
- hold on
- plot(x,0*ones(i-step+1,1),'-.','linewidth',1);
- plot(x,ttest*ones(i-step+1,1),':','linewidth',1);% 更改数字
- plot(x,-ttest*ones(i-step+1,1),':','linewidth',1);% 更改数字
- legend('t统计量','0.01显著水平');
复制代码 |
|