资源简介
mk(array,time,alpha,drawing) %突变检验函数,程序经过调试,运行结果正确
代码片段和文件信息
function Aburptchangetime=mk(arraytimealphadrawing) %突变检验函数
%array为待检验的时间序列
%time为与array对应的时间,默认按时间升序排列
%array与time均为行向量
%alpha为显著水平
%drawing为判定条件,如果drawing=1,则绘图
%Abruptchangetime为返回的突变时间
%正序计算
n=length(array);%返回array元素个数
s=0;%初始化s
for i=2:n
for j=1:i
if array(i)>array(j)
s=s+1;
end
end
Sk(i)=s;
E=i*(i+1)/4;
Var=i*(i-1)*(2*i+5)/72;
UFk(i)=(Sk(i)-E)/Var^0.5;
end
%逆序计算
clear Sk;
s=0;%再次初始化s
for i=1:n
arrayinverting(i)=array(n-i+1);%反转array为arrayinverting
end
for i=2:n
for j=1:i
if arrayinverting(i)>arrayinverting(j)
s=s+1;
end
end
Sk(i)=s;
E=i*(i+1)/4;
Var=i*(i-1)*(2*i+5)/72;
UB(i)=-(Sk(i)-E)/Var^0.5;
end
for i=1:n
UBk(i)=UB(n-i+1);%反
- 上一篇:NaSch模型的matlab实现
- 下一篇:UCI部分数据集matlab版本
评论
共有 条评论