我正在编写一个脚本来计算方程的定积分。我正在编写一个辅助函数,该函数将以系数作为参数,并返回一个关于x的函数。
然而,我收到一个错误,说“名称x未定义”。我理解
def eqn(x, k, c, a):
return ((k*x + c**(1-a))
接下来,我定义了一个函数,使用从scipy导入的quad计算定积分:
from scipy.integrate import quad
def integral(eqn, c_i, y_i):
integral_i, integral_err = quad(eqn, c_i, y_i)
print integral_i
然后我通过传递参数调用该函数
k = calc_k(7511675,1282474,0,38,2)
eqn = carbon_path_eqn(x, k, 7511675, 2)
carbon_path_def_int(eqn,0,38)
然而,我收到一个错误,说“名称x未定义”。我理解
x
没有全局定义,但我想知道如何编写一个帮助函数,它需要参数,并仍然返回可以在quad
中使用的x函数?谢谢!PS - @bpachev,这是另一篇文章的后续。
eqn
不会返回一个函数,它会根据输入的x
等值返回一个数值。 - hpauljquad
没有使用带辅助参数的函数的示例吗?你尝试过quad
的示例了吗? - hpaulj