Python,非重叠AVAR的计算

Python,非重叠AVAR的计算,python,math,Python,Math,为这个问题找到一个合适的标题有点难。我需要使用Python使用不同的M值来计算下面的表达式 σ(M)2=1/2(M−1) ∑i=1M−1[yi+1− [yi]2 (乳胶$\sigma(M)^2=\frac{1}{2(M-1)}\sum{i=1}{M-1}[y{i+1}-y{i}]^2$) (对于好奇的人来说,这是不重叠的艾伦偏差) 其中,a_i只是一些值,例如a=1.02,a1=2.34,a2=8.94等等。 我非常不确定如何做到这一点,但我猜测类似于for循环中的for循环。内环在‘σ’上求和

为这个问题找到一个合适的标题有点难。我需要使用Python使用不同的
M
值来计算下面的表达式

σ(M)2=1/2(M−1) ∑i=1M−1[yi+1− [yi]2

(乳胶
$\sigma(M)^2=\frac{1}{2(M-1)}\sum{i=1}{M-1}[y{i+1}-y{i}]^2$

(对于好奇的人来说,这是不重叠的艾伦偏差)

其中,
a_i
只是一些值,例如
a=1.02
a1=2.34
a2=8.94
等等。 我非常不确定如何做到这一点,但我猜测类似于for循环中的for循环。内环在‘σ’上求和,外环在‘σ’上求和?

像这样

for Mvalue in M:
#iterate over all values
    result=0.0
    for i in range(1,int(Mvalue)):
        #calculate the sum (**2 is squared in python)
        result=result+(y[i+1]-y[i])**2
    #divide result
    result=result/(2*(Mvalue-1))
    print result

我认为这有点正确。但是我得到了一个错误。。。“TypeError:'numpy.float64'对象不能解释为整数”@Nillo我想我已经修复了它。如果还是不行,告诉我哪一行,我会检查的out@Nillo是的,现在可以了,但要小心邻域。如果M在某一点上是1,你除以0,我想这可以解决这个问题。但我认为我的代码中还有其他东西导致了我现在的错误。非常感谢你的帮助,你给了我一些可以合作的东西。
for Mvalue in M:
#iterate over all values
    result=0.0
    for i in range(1,int(Mvalue)):
        #calculate the sum (**2 is squared in python)
        result=result+(y[i+1]-y[i])**2
    #divide result
    result=result/(2*(Mvalue-1))
    print result