如何在Python中包含数学函数作为函数的参数?你知道吗
在我的特殊情况下,我正在编写一个黎曼和计算器,理想情况下,它看起来像:
def riemann_sum(func_x, minvalue, maxvalue, partitions)
...
return riemannSum
其中func_x是x的某个函数,因此我可以找到任意函数的riemann和:
func_x = x**2
minvalue = 1
maxvalue = 2
partitions = 100
a = riemann_sum(func_x,minvalue,maxvalue,partitions)
print(a)
但是,我无法执行上述过程,因为x未定义。你知道吗
我可以通过手动输入函数的一行,得到x的特定函数的黎曼和,如下所示:
someList = [x**2 for x in someOtherList]
在这里,函数是x**2,但是我不能改变它而不实际地进入并改变函数。你知道吗
我现在唯一的解决办法就是每次我想找到一个新函数的定积分时,就定义一个新的黎曼和函数,这是可行的,但我觉得有更好的方法。你知道吗
(编辑:我的问题不同于标记为可能重复的黎曼和问题。他们的问题是关于一个具体的黎曼和的实现。我的问题是如何把一个数学函数作为一个函数的参数,我碰巧用黎曼和作为一个特殊的例子)
在Python中,函数是第一类对象,因此可以将函数作为参数传递给其他函数。也就是说,编写
riemann_sum
函数声明的方式很好。你知道吗不起作用的是
func_x
的定义,因为需要将func_x
定义为函数。为此,您可以:或者,对于更一般的多行(或单行)函数
然后你可以这样说:
也就是说,这里的要点是演示如何在
riemann_sum
函数中调用func_x
。这允许您根据求和的需要,以不同的x值计算func_x
。你知道吗这样就可以了。您可以在别处创建函数,然后在riemann\u和中初始化它作为输入。你知道吗
几年前我在为微分方程课编写代码的时候也遇到过类似的问题。下面是一个对我有用的例子:
确保param list真的是1,1+1/100。,2表示第一个索引 参数列表中的元组。我想是从现在的1点01分到2点(20分钟前我吃了些泰诺,现在我太累了,无法检查自己。)
相关问题 更多 >
编程相关推荐