Python’un matematiksel fonksiyonlar için standart modülü olan matematiği kullanarak, üstel ve logaritmik fonksiyonları (doğal logaritma, sıradan logaritma ve ikili logaritma) hesaplayabilirsiniz.
Aşağıda örnek kodla birlikte burada açıklanmıştır.
- Doğal logaritma tabanı (Napier numarası):
math.e
- Güç::
**
Şebeke,pow()
,math.pow()
- Kare kök (kök):
math.sqrt()
- Üstel fonksiyon (doğal üstel fonksiyon):
math.exp()
- logaritmik fonksiyon:
math.log()
,math.log10()
,math.log2()
Doğal logaritma tabanı (Napier numarası):math.e
Doğal logaritmanın tabanı (Napier sayısı), matematik modülünde matematik.e ile gösterilen bir sabit olarak sağlanır.
import math
print(math.e)
# 2.718281828459045
Güç: ** operatör, pow(), math.pow():**Şebeke,pow(),math.pow()
Güçleri hesaplamak için, ** operatörünü, yerleşik pow() işlevini veya math.pow()’u kullanın.
x’in y-karesi aşağıdaki gibi elde edilir
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(), bağımsız değişkeni kayan nokta türüne dönüştürür. Öte yandan, Python’un yerleşik işlevi pow(), her tür için tanımlanan __pow()__ işlevini kullanır.
Örneğin, pow(), karmaşık türlerin bağımsız değişken olarak belirtilmesine izin verir, ancak math.pow(), karmaşık türleri kayan türlere dönüştüremez, bu da bir hataya neden olur.
print(pow(1 + 1j, 2))
# 2j
# print(math.pow(1 + 1j, 2))
# TypeError: can't convert complex to float
Python yerleşik işlevi pow() ayrıca, z’nin kalanını (kalan) x’in y-gücüne döndüren üçüncü bir argüman olan pow(x, y, z)’ye izin verir. pow(x, y) % z ile aynı hesaplamadır, ancak pow(x, y, z) daha verimlidir.
print(pow(2, 4, 5))
# 1
Kare kök (kök):math.sqrt()
Karekök (kök), ** veya math.sqrt() kullanılarak **0.5’e ayarlanabilir.
print(2**0.5)
# 1.4142135623730951
print(math.sqrt(2))
# 1.4142135623730951
print(2**0.5 == math.sqrt(2))
# True
Math.pow() gibi, math.sqrt() da işleme için bağımsız değişkenleri kayan nokta türlerine dönüştürür, bu nedenle kayan nokta türüne dönüştürülemeyen bir türün belirtilmesi TypeError ile sonuçlanır.
print((-3 + 4j)**0.5)
# (1.0000000000000002+2j)
# print(math.sqrt(-3 + 4j))
# TypeError: can't convert complex to float
Ayrıca, math.sqrt() negatif değerleri işleyemez ve bu da ValueError ile sonuçlanır.
print((-1)**0.5)
# (6.123233995736766e-17+1j)
# print(math.sqrt(-1))
# ValueError: math domain error
Karmaşık sayılarla uğraşırken, ** operatörünü kullanan örneğin bir hata gösterdiğini, ancak cmath modülünün daha doğru bir değer sağladığını unutmayın. Negatif değerler de işlenebilir.
import cmath
print(cmath.sqrt(-3 + 4j))
# (1+2j)
print(cmath.sqrt(-1))
# 1j
Üstel fonksiyon (doğal üstel fonksiyon):math.exp()
Doğal logaritmanın (Napier sayısı) e tabanının gücünü hesaplamak için math.exp() kullanın.
matematik.exp(x) x kare e’yi döndürür.
math.exp(x) “math.e ** x” ile eşdeğer değildir ve math.exp(x) daha doğrudur.
print(math.exp(2))
# 7.38905609893065
print(math.exp(2) == math.e**2)
# False
logaritmik fonksiyon:math.log(),math.log10(),math.log2()
Logaritmik işlevi hesaplamak için math.log(),math.log10(),math.log2() kullanın.
math.log(x, y), taban olarak y ile x’in logaritmasını döndürür.
print(math.log(25, 5))
# 2.0
İkinci argüman atlanırsa, doğal logaritma aşağıda gösterilmiştir.
logaritma
Matematikte, log veya ln ile temsil edilen doğal logaritma (taban olarak Napier sayısı e olan logaritma), math.log(x) ile hesaplanabilir.
print(math.log(math.e))
# 1.0
logaritma (taban 10)
Sıradan logaritma (10 tabanlı logaritma), math.log(x, 10)’dan daha doğru olan math.log10(x) ile hesaplanabilir.
print(math.log10(100000))
# 5.0
ikili logaritma
İkili logaritma (2 tabanlı logaritma) math.log2(x) ile hesaplanabilir, bu da math.log(x, 2)’den daha doğrudur.
print(math.log2(1024))
# 10.0