我想創建一個名爲calc(f,a,b)
的函數,其中x是一個包含變量f的方程,並且我希望將該代碼放入函數中。在函數內使用lambda的Python
def calc(f, a, b):
limits = [a, b]
integral = odeint(lambda y, x : f, 0, limits)
return integral[1]
該函數使用內置的odeint函數獲取積分。 這就是我要做的
print calc(x**2, 0, 1)
其中x^2
被整合的功能。我的問題是,這個功能(x**2
)需要y, x: f
後立即被傳遞到odeint
函數,其中分號後f是從calc(f,a,b)
的f
什麼,我無法弄清楚的是,我如何能夠通過f
從calc函數輸入到odeint裏面。它說使得f心不是宣稱,如果我把它串內..這行的也工作
當我運行這個功能..它不工作我得到這個錯誤
NameError: name 'f' is not defined
我不知道怎麼打發我的方程裏odeint集成
感謝
莫爾細節。我已經讀了三次這個問題,但我沒有得到你的問題(儘管我累了可能會造成這種情況)。舉例說明你想要做什麼,並解釋什麼不起作用以及如何起作用。 – delnan 2011-03-20 23:33:25
嗨。請現在檢查 – Kartik 2011-03-20 23:45:48
您能否接受您之前問題的答案? – mjbommar 2011-03-20 23:52:50