我想创建一个名为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