Di Python de fonksiyonên berbiçav û logarîtmîkî hesab bike (exp, log, log10, log2)

Dikan

Bi karanîna matematîkê, modula standard a Python-ê ji bo fonksiyonên matematîkî, hûn dikarin fonksiyonên berbiçav û logarîtmîkî (logarîtma xwezayî, logarîtma asayî, û logarîtma binaryê) hesab bikin.

Ya jêrîn li vir, digel koda nimûneyê, tê rave kirin.

  • Bingeha logarîtma xwezayî (hejmara Napier):math.e
  • Erk::**makînevan,pow(),math.pow()
  • Koka çargoşe (kok):math.sqrt()
  • Fonksîyona berfirehî (fonksîyona berfirehî ya xwezayî):math.exp()
  • fonksiyonek logarîtmîkî:math.log(),math.log10(),math.log2()

Bingeha logarîtma xwezayî (hejmara Napier):math.e

Bingeha logarîtma xwezayî (hejmara Napier) di modula matematîkê de wekî domdar tê peyda kirin, ku bi math.e tê destnîşan kirin.

import math

print(math.e)
# 2.718281828459045

Hêz: ** operator, pow (), math.pow ():**makînevan,pow(),math.pow()

Ji bo hesabkirina hêzan, operator **, fonksiyona çêkirî ya pow(), an math.pow() bikar bînin.

Y-çargoşeya x bi vî awayî tê bidestxistin

  • 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() argûman diguherîne celebek xala hêlînê. Ji hêla din ve, fonksiyona çêkirî ya Python-ê pow() __pow()__ ji bo her celebê hatî destnîşan kirin bikar tîne.

Mînakî, pow() dihêle ku celebên tevlihev wekî arguman bêne destnîşan kirin, lê math.pow() nikare celebên tevlihev veguherîne celebên float, di encamê de xeletiyek çêdibe.

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

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

Fonksiyona çêkirî ya Python pow() jî rê dide argumanek sêyemîn, pow(x, y, z), ku mayî (mayîna) z vedigerîne hêza y ya x. Ew heman hesab e wekî pow(x, y) % z, lê pow(x, y, z) bikêrtir e.

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

Koka çargoşe (kok):math.sqrt()

Koka çargoşe (root) dikare bi ** 0,5 bi kar ** an math.sqrt() were danîn.

print(2**0.5)
# 1.4142135623730951

print(math.sqrt(2))
# 1.4142135623730951

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

Mîna math.pow(), math.sqrt() argûmanan ji bo pêvajoyê vediguherîne celebên xala herikînê, ji ber vê yekê diyarkirina celebek ku nekare veguhezîne celebek float dê bibe sedema TypeError.

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

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

Di heman demê de, math.sqrt() nikare nirxên neyînî pêvajoyê bike, di encamê de ValueError derdikeve.

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

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

Bala xwe bidinê ku dema ku bi hejmarên tevlihev re mijûl dibin, mînaka ku operatorê ** bikar tîne xeletiyek nîşan dide, lê modula cmath nirxek rasttir peyda dike. Nirxên negatîf jî dikarin werin destgirtin.

import cmath

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

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

Fonksîyona berfirehî (fonksîyona berfirehî ya xwezayî):math.exp()

Ji bo hesabkirina hêza bingeha logarîtma xwezayî (hejmara Napier) e, math.exp() bikar bînin.

math.exp(x) x çargoşeya e vedigerîne.
math.exp(x) ne hevwateya “math.e ** x” e û math.exp(x) rasttir e.

print(math.exp(2))
# 7.38905609893065

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

fonksiyonek logarîtmîkî:math.log(),math.log10(),math.log2()

Ji bo hesabkirina fonksiyona logarîtmîkî, math.log(),math.log10(),math.log2() bikar bînin.

math.log(x, y) logarîtma x ya ku y wek bingeh vedigerîne.

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

Ger argûmana duyemîn ji holê rabe, logarîtmaya xwezayî li jêr tê xuyang kirin.

logarîtma

Di matematîkê de, logarîtma xwezayî (logarîtma ku jimara Napier e wek bingeh e), ku bi log an ln tê temsîl kirin, dikare bi math.log(x) were hesibandin.

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

logarîtma (bingeh 10)

Logarîtma asayî (logarîtma bi bingeha 10) dikare bi math.log10(x) were hesibandin, ku ji math.log(x, 10) rasttir e.

print(math.log10(100000))
# 5.0

logarîtma binary

Logarîtma binary (logarîtma bi bingeha 2) dikare bi math.log2(x) were hesibandin, ku ji math.log(x, 2) rasttir e.

print(math.log2(1024))
# 10.0
Copied title and URL