gpt4 book ai didi

Python:如何仅使用数学模块来集成数学函数?

转载 作者:太空宇宙 更新时间:2023-11-04 08:59:48 25 4
gpt4 key购买 nike

刚开始学习python,被要求定义一个集成数学函数的python函数。

我们被告知 python 函数必须采用以下形式:(例如,计算 y = 2x + 3x=1x=2 )

integrate( 2 * x + 3, 1, 2 )

(它应该返回下面的区域)

并且我们不允许使用/导入math(和内置的也不允许使用集成工具)。

知道我应该怎么做吗?当我编写程序时,我总是得到 x is undefined,但是如果我将 x 定义为一个值(假设为 0),那么 2*x+3 参数中的部分总是作为一个值而不是数学方程式,所以我真的不能在里面使用它吗?

如果我知道 python 函数如何将数学方程式作为参数,这将非常有帮助,不仅对这个作业,而且对 future 的许多人都有帮助,非常感谢。

最佳答案

假设您的集成函数如下所示:

def integrate(func, lo_x, hi_x):
#... Stuff to perform the integral, which will need to evaluate
# the passed function for various values of x, like this
y = func(x)
#... more stuff
return value

然后你可以这样调用它:

value = integrate(lambda x: 2 * x + 3, 1, 2)

编辑

但是,如果对集成函数的调用必须看起来完全

积分(2 * x + 3, 1, 2)

然后事情就有点棘手了。如果您知道该函数将使用多项式函数调用,您可以通过使 x 成为多项式类的实例来实现,正如 M. Arthur Vaïsse 在他的回答中所建议的那样。

或者,如果 integrate( 2 * x + 3, 1, 2 ) 来自字符串,例如来自命令行参数或 raw_input() 调用,然后您可以使用标准 Python 字符串方法从字符串中提取 2 * x + 3(或其他),然后使用 exec 从中构建一个 lambda 函数

关于Python:如何仅使用数学模块来集成数学函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26625306/

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