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