gpt4 book ai didi

python - 返回方程式的函数

转载 作者:行者123 更新时间:2023-11-28 19:11:44 25 4
gpt4 key购买 nike

我正在编写一个脚本来计算方程的定积分。我正在编写一个辅助函数,它将系数作为参数并返回 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 没有全局定义,但我想知道如何编写一个辅助函数,它接受参数,并且仍然返回一个可以在 中使用的 x 函数四边形?

谢谢!

附言 - @bpachev ,这是另一篇文章的跟进

最佳答案

这里的错误是函数 'eqn' 不返回函数,它返回函数在某个点 x 的,给定参数 k、c、a。

quad 应该传递一个函数(在你的例子中,eqn),其中第一个参数(在你的例子中,x)被假定为函数集成的变量。您还需要传递 quad 剩余参数的元组(在您的情况下为 (k,c,a))和两个限制(在您的情况下为 c_i,y_i)。换句话说,像这样调用 quad:

quad(eqn,c_i,y_i,args=(k,c,a))

这一切都在 scipy 文档中进行了解释 http://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.quad.html .

关于python - 返回方程式的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39152420/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com