Python,非重叠AVAR的计算
为这个问题找到一个合适的标题有点难。我需要使用Python使用不同的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循环。内环在‘σ’上求和
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