Reiknaðu veldisvísis- og lógaritmískar aðgerðir í Python (exp, log, log10, log2)

Viðskipti

Með því að nota stærðfræði, staðlaða einingu Python fyrir stærðfræðilegar aðgerðir, getur þú reiknað veldisvísis- og lógaritmískum föllum (náttúrulegum lógaritma, venjulegum lógaritma og tvöfalda lógaritma).

Eftirfarandi er útskýrt hér ásamt sýnishornskóða.

  • Grunnur náttúrulegs logaritma (Napier tala):math.e
  • Kraftur::**rekstraraðili,pow(),math.pow()
  • Kvaðratrót (rót):math.sqrt()
  • Veldifall (náttúrulegt veldisfall):math.exp()
  • lógaritmískt fall:math.log(),math.log10(),math.log2()

Grunnur náttúrulegs logaritma (Napier tala):math.e

Grunnur náttúrulegs logaritma (Napier tala) er gefinn upp sem fasti í stærðfræðieiningunni, táknaður með math.e.

import math

print(math.e)
# 2.718281828459045

Power: ** rekstraraðili, pow(), math.pow():**rekstraraðili,pow(),math.pow()

Til að reikna út krafta, notaðu annað hvort ** stjórnandann, innbyggðu fallið pow() eða math.pow().

Y-kvaðningur x fæst sem hér segir

  • x**y
  • pow(x, y)
  • math.pow(x, y)
print(2**4)
# 16

print(pow(2, 4))
# 16

print(math.pow(2, 4))
# 16.0

math.pow() breytir rökseminni í fljótandi-komma tegund. Á hinn bóginn notar innbyggða aðgerð Python pow() __pow()__ skilgreint fyrir hverja tegund.

Til dæmis, pow() gerir kleift að tilgreina flóknar tegundir sem rök, en math.pow() getur ekki umbreytt flóknum gerðum í flotgerðir, sem leiðir til villu.

print(pow(1 + 1j, 2))
# 2j

# print(math.pow(1 + 1j, 2))
# TypeError: can't convert complex to float

Python innbyggða fallið pow() leyfir einnig þriðju röksemdafærslu, pow(x, y, z), sem skilar afganginum (afganginum) af z í y-veldi x. Það er sami útreikningur og pow(x, y) % z, en pow(x, y, z) er skilvirkari.

print(pow(2, 4, 5))
# 1

Kvaðratrót (rót):math.sqrt()

Kvaðratrótina (rót) er hægt að stilla á **0,5 með því að nota ** eða math.sqrt().

print(2**0.5)
# 1.4142135623730951

print(math.sqrt(2))
# 1.4142135623730951

print(2**0.5 == math.sqrt(2))
# True

Eins og math.pow(), breytir math.sqrt() rökum í fljótandi punktagerðir til vinnslu, þannig að tilgreind tegund sem ekki er hægt að breyta í flotgerð mun leiða til TypeError.

print((-3 + 4j)**0.5)
# (1.0000000000000002+2j)

# print(math.sqrt(-3 + 4j))
# TypeError: can't convert complex to float

Einnig getur math.sqrt() ekki unnið úr neikvæðum gildum, sem leiðir til ValueError.

print((-1)**0.5)
# (6.123233995736766e-17+1j)

# print(math.sqrt(-1))
# ValueError: math domain error

Athugaðu að þegar fjallað er um flóknar tölur sýnir dæmið sem notar ** rekstraraðilann villu, en cmath einingin gefur nákvæmara gildi. Einnig er hægt að meðhöndla neikvæð gildi.

import cmath

print(cmath.sqrt(-3 + 4j))
# (1+2j)

print(cmath.sqrt(-1))
# 1j

Veldifall (náttúrulegt veldisfall):math.exp()

Til að reikna út kraft grunns náttúrulegs logaritma (Napier tala) e, notaðu math.exp().

math.exp(x) skilar x í veldi af e.
math.exp(x) jafngildir ekki „math.e ** x“ og math.exp(x) er nákvæmara.

print(math.exp(2))
# 7.38905609893065

print(math.exp(2) == math.e**2)
# False

lógaritmískt fall:math.log(),math.log10(),math.log2()

Til að reikna lógaritmíska fallið, notaðu math.log(),math.log10(),math.log2().

math.log(x, y) skilar lógaritma x með y sem grunn.

print(math.log(25, 5))
# 2.0

Ef seinni röksemdinni er sleppt er náttúrulegi logaritminn sýndur hér að neðan.

logaritma

Í stærðfræði er hægt að reikna út náttúrulegan logaritma (logaritma með Napier númer e sem grunn), táknað með log eða ln, með math.log(x).

print(math.log(math.e))
# 1.0

logaritmi (grunnur 10)

Venjulega lógaritma (lógaritma með grunntölu 10) er hægt að reikna út með math.log10(x), sem er nákvæmari en math.log(x, 10).

print(math.log10(100000))
# 5.0

tvöfaldur logaritmi

Tvíundarlogaritminn (lógaritminn með grunn 2) má reikna út með math.log2(x), sem er nákvæmari en math.log(x, 2).

print(math.log2(1024))
# 10.0