爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6482|回复: 4

[源程序] matlab滑动T检验源代码分享及出图

[复制链接]

新浪微博达人勋

发表于 2016-8-2 18:24:13 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
M=load('wyj.txt');
x=M(:,1);y=M(:,2);t=zeros(30,1);y1=zeros(30,1);
%MMT方法检验%
%先设定子序列的长度(取n1=5;n2=5)%
n1=5;n2=5;
m=sqrt((1.0/n1)+(1.0/n2));
%开始计算%
for i=5:25
    averx1=mean(y(i-4:i));
    averx2=mean(y(i+1:i+5));
    s1=var(y(i-4:i));  
    s2=var(y(i+1:i+5));
    s=sqrt((n1*s1+n2*s2)/(n1+n2-2));
    t(i-4)=(averx2-averx1)/(s*m);  
end
plot(x(1:30),t,'r-');
y1(:)=2;                   %n=20-2时,显著性检验标准,99.5%
hold on;
plot(x,y1,'k:',x,-y1,'k:');
axis([1971,2000,5,4]);
xlabel('年');ylabel('t');title('MMT(n=30)检验');

请高人帮我看看源代码有错的地方吗,请帮我指出,谢谢。还有我的这个图1992年以后为什么线条这么直,哪里出现错误了。非常感谢!
滑动T检验图.jpg

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-12-9 15:47:42 | 显示全部楼层
最近也在研究,你试试把这两处改一下呢  
第二列 t=zeros(21,1)%21表示步长5到25的序列数%
倒数第六列 plot(x(5:25),t,"r-")
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-12-9 15:50:25 | 显示全部楼层
还有你的显著性检验标准应该是3.36, 因为自由度v=n1+n2-2=8,v为8时t0.01=3.36
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-7-27 18:28:29 | 显示全部楼层
谢谢楼主分享
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-4-11 12:21:18 | 显示全部楼层
你好,我现在也在做滑动T检验,运行到倒数第四步时,出现Error using plot   Vectors  must be  the  same lengths 是哪里做错了呢
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表