Hitung fungsi eksponensial lan logaritma ing Python (exp, log, log10, log2)

Bisnis

Nggunakake matematika, modul standar Python kanggo fungsi matematika, sampeyan bisa ngetung fungsi eksponensial lan logaritma (logaritma alam, logaritma biasa, lan logaritma binar).

Ing ngisor iki diterangake ing kene, bebarengan karo kode sampel.

  • Dasar logaritma natural (nomer Napier):math.e
  • daya::**operator,pow(),math.pow()
  • Akar kuadrat (root):math.sqrt()
  • Fungsi eksponensial (fungsi eksponensial alami):math.exp()
  • fungsi logaritma:math.log(),math.log10(),math.log2()

Dasar logaritma natural (nomer Napier):math.e

Dasar logaritma alam (nomer Napier) diwenehake minangka konstanta ing modul matématika, dilambangaké math.e.

import math

print(math.e)
# 2.718281828459045

Daya: ** operator, pow(), math.pow():**operator,pow(),math.pow()

Kanggo ngetung daya, nggunakake operator **, dibangun ing fungsi pow (), utawa math.pow ().

Kuadrat-y saka x dipikolehi kaya ing ngisor iki

  • 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 () Ngonversi argumen kanggo jinis floating-titik. Ing tangan liyane, Python kang dibangun ing fungsi pow () nggunakake __pow () __ ditetepake kanggo saben jinis.

Contone, pow () ngidini jinis Komplek bisa ditemtokake minangka bantahan, nanging math.pow () ora bisa ngowahi jinis Komplek kanggo float jinis, asil ing kesalahan.

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

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

Python built-in fungsi pow () uga ngidini argumen katelu, pow (x, y, z), sing ngasilake sisa (sisa) saka z menyang daya-y saka x. Pitungane padha karo pow(x, y) % z, nanging pow(x, y, z) luwih efisien.

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

Akar kuadrat (root):math.sqrt()

ROOT kothak (ROOT) bisa disetel kanggo ** 0,5 nggunakake ** utawa math.sqrt ().

print(2**0.5)
# 1.4142135623730951

print(math.sqrt(2))
# 1.4142135623730951

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

Kaya math.pow (), math.sqrt () Ngonversi argumentasi menyang jinis floating-point kanggo diproses, supaya nemtokake jinis sing ora bisa diowahi dadi jinis float bakal nyebabake TypeError.

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

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

Uga, math.sqrt () ora bisa ngolah nilai negatif, asil ing ValueError.

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

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

Elinga yen nalika nangani nomer Komplek, contone nggunakake operator ** nuduhake kesalahan, nanging modul cmath menehi nilai luwih akurat. Nilai negatif uga bisa ditangani.

import cmath

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

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

Fungsi eksponensial (fungsi eksponensial alami):math.exp()

Kanggo ngetung daya basis logaritma alam (nomer Napier) e, nggunakake math.exp ().

math.exp(x) ngasilake x kuadrat saka e.
math.exp (x) ora padha karo “math.e ** x” lan math.exp (x) luwih akurat.

print(math.exp(2))
# 7.38905609893065

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

fungsi logaritma:math.log(),math.log10(),math.log2()

Kanggo ngitung fungsi logaritma, gunakake math.log(),math.log10(),math.log2().

math.log(x, y) ngasilake logaritma x karo y minangka basis.

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

Yen argumen kapindho diilangi, logaritma alam ditampilake ing ngisor iki.

logaritma

Ing matématika, logaritma alam (logaritma kanthi nomer Napier e minangka basis), diwakili log utawa ln, bisa diitung nganggo math.log(x).

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

logaritma (basis 10)

Logaritma biasa (logaritma kanthi basis 10) bisa diitung nganggo math.log10(x), sing luwih akurat tinimbang math.log(x, 10).

print(math.log10(100000))
# 5.0

logaritma biner

Logaritma biner (logaritma kanthi basis 2) bisa diitung nganggo math.log2(x), sing luwih akurat tinimbang math.log(x, 2).

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