gpt4 book ai didi

python - 如何在python中获取数学函数作为输出

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

我想做这样的事情

def gaussian(x, amp):
return amp * exp(-(x-cen)**2 /wid)

我只想替换 amp 和 x 并获得一个方程式作为输出

例如:

gaussian(1,3)

3 * exp(-(1-cen)**2/wid) 作为输出。

我可以为几个列表做这个吗,一个是几个振幅值,另一个是它们各自的 x 值

最佳答案

我不确定您所说的“我需要一个方程式”是什么意思。您需要可以评估的东西吗?然后你可能可以返回一个 lambda 对象,然后你可以评估它。或者你可以使用像这样的闭包:

import math

def gaussian(x, amp):
def _gauss( cen,wid):
return amp * math.exp(-(x-cen)**2 /wid)

return _gauss

g = gaussian(10,1)
print g(2,4)

g 现在是一个可调用函数,其中 x 和 amp 已被替换,因此您只需要传递 cen 和 wid

这项工作的原因是因为内部函数 _gauss 在每次调用包装函数时都会被计算,这样做函数将使用父函数传递的参数进行计算,并在那里用作“静态”。从那时起,您返回一个函数,您可以对其进行评估并传递所有剩余的参数,这是库强制您进行参数回调时的常用技术。唯一的缺点是比简单的函数调用更昂贵,即生成子函数,而不是对其求值。

关于python - 如何在python中获取数学函数作为输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35486240/

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