update: test文件已上传,方便大家理解代码,希望对需要的同志有所帮助!

(1)  累计距平均

data=xlsread('test.xlsx');

data(:,1)=[];

mean_data=mean(data);

diff_streamflow=data(:,1)-mean_data(1);

diff_baseflow=data(:,2)-mean_data(2);

diff_surfq=data(:,3)-mean_data(3);

Sum_streamflow_anomaly=zeros(55,1);

Sum_baseflow_anomaly=zeros(55,1);

Sum_surfq_anomaly=zeros(55,1);

for i=1:55;

Sum_streamflow_anomaly(i)=sum(diff_streamflow(1:i));

Sum_baseflow_anomaly(i)=sum(diff_baseflow(1:i));

Sum_surfq_anomaly(i)=sum(diff_surfq(1:i));

end

years=(1960:2014)';

xlswrite('cumulative_anomaly.xlsx',[years,Sum_streamflow_anomaly,Sum_baseflow_anomaly,Sum_surfq_anomaly])

通过绘图找到分界点即得到break point

(2)   Pettitt检测

% This code is used to find the change point in a univariate continuous time series

% using Pettitt Test.

%

%

% The test here assumed is two-tailed test. The hypothesis are as follow:

%  H (Null Hypothesis): There is no change point in the series

%  H(Alternative Hypothesis): There is a change point in the series

%

% Input: univariate data series

% Output:

% The output of the answer in row wise respectively,

% loc: location of the change point in the series, index value in

% the data set

% K: Pettitt Test Statistic for two tail test

% pvalue: p-value of the test

%

%Reference: Pohlert, Thorsten. "Non-Parametric Trend Tests and Change-Point Detection." (2016).

%

function a=pettitt(data)

[m n]=size(data);

for t=2:1:m

for j=1:1:m

v(t-1,j)=sign(data(t-1,1)-data(j,1));

V(t-1)=sum(v(t-1,:));

end

end

U=cumsum(V);

loc=find(abs(U)==max(abs(U)));

K=max(abs(U));

pvalue=2*exp((-6*K^2)/(m^3+m^2));

a=[loc; K ;pvalue];

return

-------------------------------------

下面是函数的调用:

clc;

data=xlsread('test.xlsx');

y=data(1:end,2);%输入数据

a=pettitt(y);

参考文献:

(1)王随继等, 皇甫川流域降水和人类活动对径流量变化的贡献率分析——累积量斜率变化率比较方法的提出及应用. 地理学报, 2012. 67(3): 第388-397页

(2)  Pohlert, Thorsten. "Non-Parametric Trend Tests and Change-Point Detection." (2016).

转载本文请联系原作者获取授权,同时请注明本文来自张凌科学网博客。

链接地址:http://blog.sciencenet.cn/blog-922140-1116580.html

上一篇:ArcGIS Licience过期的解决方法

下一篇:DHSVM模型计算流程

php变异测试工具,科学网—两种突变检测的matlab代码 - 张凌的博文相关推荐

  1. matlab获取地图边界,科学网—提取百度地图县域的矢量边界 - 张乐乐的博文

    (1) 将以下代码存储为txt文件,后缀名改为html 获取地区轮廓线 var map = new BMap.Map("container"); map.centerAndZoom ...

  2. matlab 趋势分析,科学网—SEN趋势度分析及其MATLAB实现 - 杨建华的博文

    SEN趋势度分析及其MATLAB实现 一.博文概述 1.目的 学习理解SEN趋势度分析方法及其应用,并编写简易的SEN趋势度分析函数 2.时间 2016年12月24日 3.关键词 SEN趋势度分析   ...

  3. 测试显卡性能的两种方法

    测试显卡性能的两种方法: 方法一:利用软件包unixbench-5.1.2 用unixbench-5.1.2,需要网上下载相关源码包,并提前需要修改Makefile: GL_LIBS = -lGL - ...

  4. 介绍linux上两种rootkits检测工具: Rootkit Hunter和Chkrootkit

    原贴:http://blog.csdn.net/linkboy2004/archive/2007/03/22/1537890.aspx 介绍linux上两种rootkits检测工具: Rootkit ...

  5. 两种方式设置SVN提交代码时必须填写日志

    两种方式设置SVN提交代码时必须填写日志 咱们在使用SVN的时候,团队中难免有同事提交代码时忘记填写日志而直接提交,这样会导致后期维护极不方便,这并不是我们想看到的.于是下面给出两种方式来解决这个问题 ...

  6. matlab的灰色关联,五种灰色关联度分析matlab代码

    <五种灰色关联度分析matlab代码>由会员分享,可在线阅读,更多相关<五种灰色关联度分析matlab代码(3页珍藏版)>请在人人文库网上搜索. 1.灰色邓关联分析% p12- ...

  7. matlab中怎么灰色关联度,五种灰色关联度分析matlab代码

    五种灰色关联度分析matlab代码 灰色邓氏关联度分析% P12 -- The Study on the Grey Relational Degree and Its Application func ...

  8. ubuntu安装vasp_科学网—Ubuntu18.04编译VASP.5.4.1两种方法的详细过程 - 木留华的博文...

    笔者根据自己的经验总结了VASP在Ubuntu系统的安装方法,分享给大家并方便自己查看. 下面两种编译方法(gfortran及MKL分别编译VASP)均需要VASP源码包及其补丁,这些可以在官网或通过 ...

  9. vasp测试计算机,科学网—PWSCF 自洽计算、kpoints测试和ecut测试 - 叶小球的博文

    关注: 1) 自洽计算的目的是为了check结构建立是否合理,程序能否顺利运行: 2) kpoints测试的重要性:  选择合适的参数,可在保证质量的情况下,节省计算时间 3)  ecut 测试的重要 ...

  10. python中几种读取文件的方法_科学网—python中几类文件的读写 - 郗强的博文

    所使用python模块为json.csv等. 一.json文件读写 1.JSON简介:其全名为JavaScript Object Notation是一种轻量级的数据交换格式.Json最广泛的应用是作为 ...

最新文章

  1. iOS_Development~ 添加 / 隐藏 UITabBar 右上角的小红点
  2. python logging模块使用_python logging模块使用
  3. springCloud学习-高可用的分布式配置中心(Spring Cloud Config)
  4. java native内存_android java内存与native内存
  5. r语言中矩阵QR分解_从零开始学R语言Day4|向量、矩阵和数组
  6. 设置Linux下Mysql表名不区分大小写
  7. Dubbo——Dubbo协议整合Jackson序列化解决方案
  8. 数组 边界 检查的几种实现方法
  9. scope参数错误或没有scope权限_SSM 单体框架 - 前端开发:用户和权限模块
  10. 离开小米后 周受资将加入字节跳动担任CFO
  11. 想悄悄的做渗透测试?这里的工具足够你用了
  12. AJAX POST跨域 解决方案 - CORS(转载)
  13. python中空间的位置怎么放置_如何在空间中对齐一个位置?
  14. 深职院计算机专业宿舍,深圳职业技术学院宿舍怎么样 住宿条件好不好
  15. 怎样使用U盘启动盘安装乌班图系统
  16. 如何使用Git SVN工具 -- TortoiseGit(小乌龟)将本地项目上传至GitEE?【超详细教程】
  17. 用ps换证件照照片底色
  18. Linux家目录被误删除恢复
  19. SAP 系统银行账户管理
  20. 2018.10.19学习总结

热门文章

  1. Empty filename passed to function
  2. 网络安全篇 防火墙的静态路由-04
  3. 秒杀项目总结及面试常见问题
  4. 计算机内存条只认了一个,怎么解决Win10插入2个4G内存条却只显示4G?
  5. 【翻译】Flux安全审计已经结束
  6. powerdesigner16 license key
  7. SQL Server 按间隔时间查询记录
  8. 国中假期 part 1
  9. sh: warning: setlocale: LC_ALL: cannot change locale (zh_CN.GB18030)
  10. python 学生成绩统计