Hoe kan ik x.append(1-e^(-value1^2/2*value2^2))
in python 2.7 schrijven?
Ik weet niet hoe ik de power operator en e. moet gebruiken.
Antwoord 1, autoriteit 100%
Je kunt exp(x)
functie van de wiskundebibliotheek, die is hetzelfde als e^x
. Daarom kunt u uw code schrijven als:
import math
x.append(1 - math.exp( -0.5 * (value1*value2)**2))
Ik heb de vergelijking aangepast door 1/2
te vervangen door 0.5
. Anders voor Python <2.7, moeten we de delingswaarde expliciet typen naar float
omdat Python het resultaat van de deling van twee int
als geheel getal. Bijvoorbeeld: 1/2
geeft 0
in python 2.7 en lager.
Antwoord 2, autoriteit 39%
De stroomoperator van Python is **
en het nummer van Euler is math.e
, dus:
from math import e
x.append(1-e**(-value1**2/2*value2**2))
Antwoord 3, autoriteit 20%
Gewoon zeggen: numpy
heeft dit ook. Het is dus niet nodig om math
te importeren als je al import numpy as np
:
>>> np.exp(1)
2.718281828459045
Antwoord 4, autoriteit 14%
Power is **
en e^
is math.exp
:
x.append(1 - math.exp(-0.5 * (value1*value2)**2))
Antwoord 5, autoriteit 5%
math.e
of from math import e
(= 2.718281…)
De twee uitdrukkingen math.exp(x)
en e**x
zijn equivalent
echter:
Retourneer e verheven tot de macht x, waarbij e = 2,718281… de basis is van natuurlijke logaritmen. Dit is meestal nauwkeuriger dan math.e ** x
of pow(math.e, x)
. docs.python
voor stroomverbruik **
(3**2
= 9), niet ” ^ “
” ^ ” is een bitsgewijze XOR-operator (& en, | of), het werkt logisch met bits.
Dus bijvoorbeeld 10^4
=14 (misschien onverwacht) → overweeg de bitsgewijze weergave:
(0000 1010 ^ 0000 0100 = 0000 1110) programiz