2016-12-16 100 views
-1

我做了Runge和Kutta算法來求解類型dy/dx=f (x,y)的微分方程。如何將一個數學函數放入python函數中?

而不必在我的代碼def f(x,y)的,我想在我的龍和庫塔函數的參數一樣知道 RK4 (x0,y0,xmax,f (x,y))輸入。

我應該如何編寫它才能使其工作?

我想那一定是這樣的浮動(...),但我不知道在所有...

+0

你在尋找匿名函數嗎?檢查第4.7.5節。 Lambda表達式在https://docs.python.org/3/tutorial/controlflow.html! – Zafi

+0

我不是蟒蛇這麼好的朋友。我在3周前纔開始學習它。所以我真的不知道你寄給我的那部分會有幫助。也許它被稱爲匿名函數,但對我來說它是未知的。舉一個例子,我的算法爲給定的導數提供了方程。但是我想將導數的數學公式輸入到我的算法的參數中,所以我不必每次都編輯我的文件。 – John

+0

你想輸入數學公式作爲某種字符串參數或作爲函數參數(其中數學公式是用python寫的)。在第二種情況下,您應該使用lambda表達式。 – Zafi

回答

0

使用lambda功能,你可以做一些事情,如下:

雖然我不確定這是否正是您需要的。這個問題對我來說還不太清楚。

+0

因此,例如我想解決dY/dt = -Y。所以我使用了Runge和Kutta算法RK(x0,xmax,yo),並且在我的程序中,我在某處寫了一個函數f,定義爲-Y。所以我的程序只運行這個等式。所以我的問題是,如果我的方程是dY/dt = F(x,y,t),我應該在代碼中寫入什麼來將F作爲參數,即RK(x0,xmax,y0,F)。 (並且在計算過程中,代碼將能夠對於x,y和t的幾個值進行F)。你的lambda是這樣做的嗎? (對不起,我的英文是法文) – John

+0

你可以用你喜歡的任何參數調用lambda函數custom_func,是的。 – Zafi

相關問題