2017-01-25 29 views
-1

所以我試圖運行一個想法的簡單測試。基本上我有一些我定義的函數取決於一個變量和一個參數常量。我有一個參數值的數組。對於第一個參數值,我有一組開始和結束點的積分。第二,我有一組不同的開始和結束點集成。我的代碼工作得益於此鏈接Integrating functions that return an array in Python在python中集成一個函數與參數數組,開始點和終點

而且它基本上就是這種形式。

我的問題是,如果我有一個函數的定義與在它循環,該功能看起來類似:

def F(a): 
    F = [] 
    for i in len(a): 
     F[i] = scipy.integrate.quad(g,0,1,args = (a[i],)) 
    return F 

(其中g一些功能我在以前定義代碼),那麼當我實現這個功能(或插入一個數組a)數組中的所有元素是否會連續運行?或者每個元素的積分是否會同時運行?或者換句話說,在我開始附加的鏈接中,當調用for循環定義的函數被調用時,請執行函數中的所有計算連續運行(如循環遍歷索引的for循環)或同時運行因爲所有元素都已經定義好了?

+0

謝謝你的歡迎。我瀏覽了旅遊信息。 有沒有可能你有我的問題的答案 – sasha

+0

再次您好。我建議參觀,因爲很明顯你甚至沒有完成這一步驟來熟悉這個地方是如何工作的。下一步將閱讀如何創建[最小,完整和可驗證](http://stackoverflow.com/help/mcve)示例。然後編輯你的帖子來提供。舉個例子,當我猜測*你的意思是'scipy.integrate.quad'時,你的代碼會說'simpy.integrate.quad'。任何時候我們必須猜測*,我們更有可能繼續前進,並幫助那些花更多時間讓他們更容易獲得幫助的人。 –

+0

我修復了這個錯字。希望這更清楚。雖然這個問題更多的是關於定義中的循環如何在稍後調用這些函數時運行。 – sasha

回答

0

環路可以更好地被表達爲:

def F(a): 
    results = [] 
    for element in a: 
     results.append(scipy.integrate.quad(g, 0, 1, args=(element,))) 
    return results 

或作爲一個班輪使用列表理解:

def F(a): 
    return [scipy.integrate.quad(g, 0, 1, args=(element,)) for element in a] 

而在這兩種情況下,積分會做一個在時間(連續)。

+0

有沒有辦法使用numpy同時應用其他操作(如加法)同時應用集成矩陣? 這樣F(a)是一個數組,其中每個元素等於F(a的元素)? – sasha

+0

也許吧,但如果你提出一個新問題,這將是最好的。盡你所能創建一個[最小,完整和可驗證](http://stackoverflow.com/help/mcve)示例。祝你好運。 –

相關問題