2017-06-22 16 views
-2
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中總結餘弦系列中的術語。假設我想總結第一,第三和第五學期,但不是第二或第四學期。有沒有辦法在for循環中指定?我希望能夠改變哪些術語,如果可能,我不要求和。這是我的腳本的一部分,它定義了我正在總結的內容。稍後我將在腳本中優化此功能,但我希望能夠將某些術語修復爲0.現在,它只是將我和j的所有內容相加如何選擇在python系列中求和的術語

+3

當然有一種方法。向我們展示您已經嘗試過的內容,我們將能夠從那裏爲您提供幫助。 –

+1

有一個你想要求和的指數列表並迭代它們。 –

+2

'sum(terms [:: 2])' – CoryKramer

回答

0

如果我正確理解了您,則可以使用例如:

sum([value for index, value in enumerate(data) if index % 2 != 0])