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

MannKendall

突变检测算法

MATLAB

源码

题目:

MannKendall

突变检测算法

MATLAB

源码

%%

以下是单边

MannKendall

突变检测算法

% GreenSim

团队原创作品,转载请注明

% Email:[email protected]

% GreenSim

团队主页:

http://blog.sina.com.cn/greensim

% [color=red]

欢迎访问

GreenSim

——算法仿真团队

→[url=http://blog.sina.com.cn/greensim]http://blog.sina.com.cn/green

sim[/url][/color]

clear

load data

X=MJL;

N=length(X);

U=zeros(N-1,1);

for t=2:N

x=X(1:t);

S=0;

n=length(x);

for k=1:(n-1)

for j=(k+1):n

S=S+sign(x(j)-x(k));

end

end

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

if S>0

Z=(S+1)/sqrt(VarS);

elseif S==0

Z=0;

else

Z=(S-1)/sqrt(VarS);

end

U(t-1)=Z;

end

figure(1)

plot(1:(N-1),U,'linewidth',1.5);

hold on

plot(1:(N-1),1.96*ones(N-1,1),':','linewidth',1);

legend('

统计量

','0.05

显著水平

');

hold on

plot(1:(N-1),0*ones(N-1,1),'-.','linewidth',1);

plot(1:(N-1),1.96*ones(N-1,1),':','linewidth',1);

你可能感兴趣的:(mk突变点检测)