3

我正在尝试实现算法,但我不确定如何在 Python 中实现。

该算法给出为[e ^ -ax] * [((e ^ by) - (e ^ -ax)) / ((e ^ by) + (e ^ -ax))]

在哪里:

  • ^代表权力
  • e是欧拉数,值为2.718
  • a并且b是常数并且给出为a = 0.2b = 0.45
  • 但是xy是变量,在哪里a并且b永远是>= 0

这是我想出的,但我不确定这是否正确。如果有人能告诉我它是否正确或者是否有更简单的方法可以做到这一点,那就太好了,因为它现在看起来非常复杂。

valueA = 0.2 * x
valueB = 0.45 * y

results = math.pow(math.e, -valueA) * (math.pow(math.e, valueB) - math.pow(math.e, -valueB)) / (math.pow(math.e, valueA) + math.pow(math.e, -valueB))
4

3 回答 3

9

对于计算e x,无需编写:

math.pow(math.e, x)

相反,使用math.exp并编写:

math.exp(x)

或者:

from math import exp
exp(x)
于 2013-01-18T11:32:59.130 回答
1

您可以使用**运算符:

In [48]: math.pow(2,10)
Out[48]: 1024.0

In [49]: 2**10              #replace the '2' by math.e or simply e
Out[49]: 1024
于 2013-01-18T11:29:35.900 回答
1

您可以摆脱math.pow并替换math.ee

from math import e
results = e**-valueA * (e**valueB - e**-valueA) / (e**valueB + e**-valueA)

您也可以替换为valueAax,以使事情变得更简单。valueBby

于 2013-01-18T11:31:38.600 回答