需求:
已知年份和历年最大冻土深度,计算最大冻土深度Mk突变检验。
原理
工具和语言:
python
jupter notebook
代码过程
#定义函数
def mktest(inputdata):
import numpy as np
inputdata = np.array(inputdata)
n=inputdata.shape[0]
Sk = np.zeros(n)
UFk = np.zeros(n)
r = 0
for i in range(1,n):
for j in range(i):
if inputdata[i] > inputdata[j]:
r = r+1
Sk[i] = r
E = (i+1)*i/4
Var = (i+1)*i*(2*(i+1)+5)/72
UFk[i] = (Sk[i] - E)/np.sqrt(Var)
Sk2 = np.zeros(n)
UBk = np.zeros(n)
inputdataT = inputdata[::-1]
r = 0
for i in range(1,n):
for j in range(i):
if inputdataT[i]