寄信人: fig (【晋】『康杰中学』)

标 题: 没主题

发信站: 南京大学小百合站 (Sun May 23 19:18:25 2010)

来 源: 172.16.74.204

Fortran:

program main

implicit none

c This is a program for testing climate jumpi by use of

c 'Mann-Kendall test'.

c-------------------------------------------------

integer,parameter :: iy=100

integer i

real x(iy),u1(iy),u2(iy)

c-------Read Data

c-------

open(31,file='d:mk.txt',form='formatted')

do i=1,50

x(i)=0.5

x(i+50)=-0.5

enddo

c-------Mann-Kendall test method

call MKtest(iy,x,u1,u2)

c------

do i=1,iy

write(31,10)i,x(i),u1(i),u2(i)

end do

10 format(1x,i4,4f8.2)

stop

end

!c------------------------------------------------------------------

subroutine MKtest(m,x,u1,u2)

dimension x(m),u1(m),u2(m)

dimension xr(m),ur(m) !work array

do i=1,m

xr(i)=x(m+1-i)

end do

call MKrank(m,x,u1)

call MKrank(m,xr,ur)

do i=1,m

u2(i)=-ur(m+1-i)

enddo

return

end

!c------------------------------------------------------------------

!c-------Mann-Kendall Rank Statistic

subroutine MKrank(m,x,u)

dimension x(m),u(m)

u(1)=0.0

d=0.0

do i=2,m

num=0

do j=1,i

if(x(i).gt.x(j))then

num=num+1

endif

enddo

d=d+float(num)

e=i*(i-1.)/4.

var=i*(i-1.)*(2.*i+5.)/72.

u(i)=(d-e)/sqrt(var)

enddo

return

end

Matlab:

%

% Time Series Trend Detection Tests

%

% [ z, sl, lcl, ucl ] = trend( y, dt )

%

% where z = Mann-Kendall Statistic

% sl = Sen's Slope Estimate

% lcl = Lower Confidence Limit of sl

% ucl = Upper Confidence Limit of sl

% y = Time Series of Data

% dt = Time Interval of Data

%

% Bob Newell, February 1996

%

%--------------------------------------------------

%

function [ z, sl, lcl, ucl ] = trendMK( y, dt )

%

n = length( y );

%--------------------------------------------------

% Mann-Kendall Test for N &gt 40

%

disp( 'Mann-Kendall Test:' );

if n &lt 41,

disp( 'WARNING - sould be more than 40 points' );

end;

% calculate statistic

s = 0;

for k = 1:n-1,

for j = k+1:n,

s = s + sign( y(j) - y(k) );

end;

end;

% variance ( assuming no tied groups )

v = ( n * ( n - 1 ) * ( 2 * n + 5 ) ) / 18;

% test statistic

if s == 0,

z = 0;

elseif s &gt 0,

z = ( s - 1 ) / sqrt( v );

else,

z = ( s + 1 ) / sqrt( v );

end;

% should calculate Normal value here

nor = 1.96;

% results

disp( [ ' n = ' num2str( n ) ] );

disp( [ ' Mean Value = ' num2str( mean( y ) ) ] );

disp( [ ' Z statis

mk突变点检测_mk突变检测相关推荐

  1. mk突变点检测_MK突变检测程序

    MannKendall 突变检测算法 MATLAB 源码 题目: MannKendall 突变检测算法 MATLAB 源码 %% 以下是单边 MannKendall 突变检测算法 % GreenSim ...

  2. mk突变点检测_Mann-Kendall突变检测(mk突变检测)

    本帖最后由 vb1987 于 2013-6-12 23:27 编辑 %最近写论文需要用到MK检验法,网上收集到大量的matlab代码,但是没有一个代码能够 %完全正确运行或者分析信息不全,结合多位网友 ...

  3. mk突变点检测_MK检验突变分析 matlab

    % Mann-Kendall突变检测 % 数据序列y % 结果序列UFk,UBk2 %读取excel中的数据,赋给矩阵y %获取y的样本数 %A为时间和降水数据列 x=降水(:,1);%时间序列 y= ...

  4. mk突变点检测_科学网—从网上找的M-K突变检验的程序 - 张乐乐的博文

    %从matlab论坛上找的MK突变检验的程序,这个程序运行的结果跟我自己编写程序运行出来的结果一样,但是跟魏凤英老师书上的例子出图结果不一样 A=xlsread('test-mk.xlsx'); x= ...

  5. mk突变点检测_气候突变检测

    1.气候突变是什么意思 科学家们所说的气候变化,通常指的是"气候渐变".也就是我们经常说的,"地球在逐渐变暖",或者是"气候在慢慢变暖".但 ...

  6. python:遥感时间序列处理——Pettitt突变点检测(突变时间/年份)

    本文记录了使用python语言和Pettitt突变检测算法检测遥感数据30年的NDVI时间序列中的突变时间(年份)的代码. Pettitt可以检测时间序列中最显著的突变点,其检测结果只有一个,相对MK ...

  7. python:遥感时间序列处理——Mann-Kendall(MK)突变检测(突变次数)

    作者:CSDN @ _养乐多_ 本文记录了使用python语言读取数据和逐像素求MK突变次数的方法和代码. 并以2001年到2022年的NDVI时间序列数据为例,展示了研究区内NDVI发生突变的次数. ...

  8. 【突变检验方法二】MATLAB实现贝叶斯突变检测

    MATLAB实现贝叶斯突变检测 1 贝叶斯突变检测 2 原理 3 MATLAB相关代码 3.1 调用函数 3.2 案例 参考 另:其它语言实现贝叶斯突变检测 1 贝叶斯突变检测 贝叶斯突变检测属于概率 ...

  9. pettitt检验r语言_[原创]Matlab气候突变检测程序合集(更新了)

    登录后查看更多精彩内容~ 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 本帖最后由 sfhstcn2 于 2017-10-19 07:29 编辑 mutation_test这是一包代码,是基 ...

最新文章

  1. ZOJ1002 Fire Net(非递归版)
  2. 2503 常用格式验证
  3. React开发(127):引入icon的方式
  4. Swift学习笔记 闭包表达式
  5. 员工离职时被HR回复“猝死了再说”!HR道歉:没控制好情绪
  6. service.php,service.php
  7. membership.findusersbyname模糊匹配的写法
  8. Proxmark3 easy gui 5.13 版本 编译日期2019-4-17 冰人4月份最新固件
  9. linux中开启snmp协议
  10. python找工作好不好_Python这么火,为何有人说Python不好找工作?
  11. 【元胞自动机】基于matlab元胞自动机模拟交通流【含Matlab源码 355期】
  12. 微信小程序实现多视频video采坑,上下滑动视频
  13. u8文件服务器在哪设置,u8 设置文件服务器
  14. excel 汇总运算后生成柱状图
  15. java编程:假定公鸡5元钱1只,母鸡3元钱1只,小鸡1元钱3只。现在有100元钱要求买100只鸡,请编程列出所有可能的购鸡方案。
  16. BurpSuite2021 -- 目标模块(Target)
  17. Unity优化篇——mesh合并
  18. 金蝶云星空配套材料采购生成采购申请单
  19. ubuntu卷组安装
  20. 如何设置按组分页同时每页的行数为固定的行数

热门文章

  1. MySQL多表查询大全(超精确)
  2. 判断一个年份是否是闰年
  3. android 高德地图标记,android学习之高德地图添加标记
  4. python怎么调字体_python怎么改字体
  5. Flutter异常收集
  6. scratch积木编程----[微进阶]打靶-上(简单非线性移动)
  7. Java-Map集合
  8. Windows服务器更改远程端口3389
  9. 安卓使用http下载文件
  10. 面向对象,类,属性,方法,创建调用属性方法,有参,无参,变量代码示例