m = int(raw_input());
def objective(x): # Definining minimization function
# in function range(1,m) 1 is included and m is excluded. So effectively we go from 1 to m-1.
first = 0.0
second = 0.0
for j in range(1, m):
term_1 = 1.0
term_2 = 0.0
for i in range(1,m):
term_1 -= 2*(x[i]*math.pow(math.sin(pi*i*j/m),2))
term_2 += ((x[i])*i* math.sin(2*pi*i*j/m))
first = first + math.pow(term_1, 2)
second = second + math.pow(term_2, 2)
Fmin = first + second
return Fmin
asum = 0.0
for i in range (1,m):
asum = asum - x[i]
所以我试图在python 2.7.12中对余弦系列中的术语求和。说我要总结第1,第3和第5学期,但不是第2学期或第4学期。有没有办法在for循环中指定它?如果可能的话,我希望能够改变哪些术语我不会求和。这是我的脚本的一部分,它定义了我总结的内容。我稍后会在脚本中优化此功能,但我希望能够将某些术语修复为0.就目前而言,它只是将i和j的所有内容相加
答案 0 :(得分:0)
如果我理解正确,您可以使用以下内容:
sum([value for index, value in enumerate(data) if index % 2 != 0])