48

我如何x.append(1-e^(-value1^2/2*value2^2))在 python 2.7 中编写代码?

我不知道如何使用 power operator 和 e。

4

5 回答 5

54

可以使用数学exp(x)库的功能,与. 因此,您可以将代码编写为:e^x

import math
x.append(1 - math.exp( -0.5 * (value1*value2)**2))

我通过替换1/2as修改了方程0.5。否则,对于 Python <2.7,我们必须将除法值显式类型转换为,因为 Python 将二除法的结果作为整数float进行舍入。int例如:在 python 2.7 及以下版本中1/2给出。0

于 2016-08-25T21:02:01.397 回答
19

Python 的幂运算符是**,欧拉数是math.e,所以:

 from math import e
 x.append(1-e**(-value1**2/2*value2**2))
于 2016-08-25T20:59:31.843 回答
12

只是说:numpy这个也有。math因此,如果您已经这样做了,则无需导入import numpy as np

>>> np.exp(1)
2.718281828459045
于 2019-09-06T12:05:54.463 回答
6

权力是**e^math.exp

x.append(1 - math.exp(-0.5 * (value1*value2)**2))
于 2016-08-25T20:59:25.650 回答
2

math.efrom math import e (= 2.718281…)

math.exp(x)然而,这两个表达式e**x是等价的:
返回 e 的 x 次幂,其中 e = 2.718281... 是自然对数的底。这通常比math.e ** x或更准确pow(math.e, x)文档.python

对于电源使用**3**2= 9),不是“^”
“^”是按位异或运算符(& 和,| 或),它在逻辑上与位一起工作。因此,例如10^4=14(可能出乎意料)→ 考虑按位描述:

(0000 1010 ^ 0000 0100 = 0000 1110) 程序化

于 2019-04-20T10:51:26.890 回答