爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 10300|回复: 6

各位,谁用Matlab做过Pettitt突变分析,我刚刚气温的突变,程序和图附上

[复制链接]

新浪微博达人勋

发表于 2017-1-9 22:28:40 | 显示全部楼层 |阅读模式
1金钱
但是,用累计距平验证,总觉得突变的时间点不对,我觉得这个突变时间应该在1997年左右,但是Pettitt做出来太靠后,而且不明显
程序如下:
function [Ut,chg_point]=pettitt_change(x,data)
%
% Pettitt test for detection of change point
A=textread('气温年值.txt')
x=A(:,1)%时间
data=A(:,2)%年平均气温
n=length(data);
s=0;
Ut=zeros(n-1,1);
for i=1:n-1;
  for j=i+1:n;
      s=s+sign(data(i)-data(j));
  end
  Ut(i)=s;
end
Kmax=max(abs(Ut));
chg_point=find(abs(Ut)==Kmax);%找出最大值对应的序列号
coef=2*exp(-6*Kmax^2/(n^3+n^2));
figure(1)
hold on
plot(x(1:n-1),Ut,'K-','linewidth',1.5);%画出整个曲线的变化趋势
plot([x(chg_point),x(chg_point)],[-Kmax,Kmax],'r--','linewidth',1.5);%画出该竖线即为突变点
Klim=Kmax-Kmax*0.1
plot([x(1),x(n)],[-Klim,-Klim],'b-');
plot([x(1),x(n)],[Klim,Klim],'b-');
end


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

新浪微博达人勋

发表于 2017-1-9 23:15:59 | 显示全部楼层
运行了一下,跟我用R写的的不一样啊。你的结果可能有问题。MK检验与你的差别也很大
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2017-1-10 08:25:04 | 显示全部楼层
andrewsoong 发表于 2017-1-9 23:15
运行了一下,跟我用R写的的不一样啊。你的结果可能有问题。MK检验与你的差别也很大

大神 请教我用R语言
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2017-1-10 08:28:48 | 显示全部楼层
topmad 发表于 2017-1-10 08:25
大神 请教我用R语言

老五别闹(ー_ー)!!
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2017-1-10 09:22:02 | 显示全部楼层
andrewsoong 发表于 2017-1-9 23:15
运行了一下,跟我用R写的的不一样啊。你的结果可能有问题。MK检验与你的差别也很大

我不太会编程,R语言也用过,能不能给我发一个你的R程序,我再试试,非常着急,拜托了,我邮箱1286637055@qq.com
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2017-2-2 19:41:42 | 显示全部楼层
http://download.csdn.net/detail/luluhoy/9644703
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2017-2-2 19:54:23 | 显示全部楼层
xiaolan16 发表于 2017-1-10 09:22
我不太会编程,R语言也用过,能不能给我发一个你的R程序,我再试试,非常着急,拜托了,我邮箱

能否给我也发一份,hoyjiaya@126.com,非常感谢~
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

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

本版积分规则

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

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

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