• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-01-07
  • 语言: Matlab
  • 标签:

资源简介

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);%反

评论

共有 条评论

相关资源