-
大小: 2KB文件類型: .m金幣: 1下載: 0 次發(fā)布日期: 2021-01-07
- 語言: Matlab
- 標簽:
資源簡介
mk(array,time,alpha,drawing) %突變檢驗函數(shù),程序經(jīng)過調(diào)試,運行結果正確
代碼片段和文件信息
function?Aburptchangetime=mk(arraytimealphadrawing)?%突變檢驗函數(shù)
%array為待檢驗的時間序列
%time為與array對應的時間,默認按時間升序排列
%array與time均為行向量
%alpha為顯著水平
%drawing為判定條件,如果drawing=1,則繪圖
%Abruptchangetime為返回的突變時間
%正序計算
n=length(array);%返回array元素個數(shù)
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);%反
評論
共有 條評論