AMP Analytics -->

Teknoloji Rehberi

1 Mayıs 2025 Perşembe

Python'da Math Modülü

 

Python'da Math Modülü: Detaylı Açıklama

Python'daki math modülü, matematiksel işlemler ve fonksiyonlar için standart bir kütüphanedir. Bu modül, temel aritmetik işlemlerin ötesinde karmaşık matematiksel fonksiyonlar sağlar.

Math Modülünün Temel Özellikleri

1. Modülü Kullanma

python
Copy
Download
import math

2. Sabitler

Math modülü birkaç önemli matematiksel sabit içerir:

python
Copy
Download
math.pi      # π (pi) sayısı ≈ 3.141592653589793
math.e       # e sayısı (doğal logaritma tabanı) ≈ 2.718281828459045
math.tau     # τ (tau) sayısı (2π) ≈ 6.283185307179586
math.inf     # Sonsuzluk
math.nan     # Sayı olmayan değer (Not a Number)

3. Temel Matematiksel Fonksiyonlar

a) Karekök ve Üs Alma

python
Copy
Download
math.sqrt(x)    # x'in karekökü
math.pow(x, y)  # x üzeri y (x^y)
math.exp(x)     # e üzeri x (e^x)
math.expm1(x)   # e^x - 1 (küçük x değerleri için daha doğru)

b) Logaritma Fonksiyonları

python
Copy
Download
math.log(x)        # x'in doğal logaritması (e tabanında)
math.log(x, base)  # Belirtilen tabanda logaritma
math.log10(x)      # 10 tabanında logaritma
math.log2(x)       # 2 tabanında logaritma
math.log1p(x)      # ln(1+x) (küçük x değerleri için daha doğru)

c) Trigonometrik Fonksiyonlar

python
Copy
Download
math.sin(x)    # Sinüs (radyan cinsinden)
math.cos(x)    # Kosinüs
math.tan(x)    # Tanjant
math.asin(x)   # Ark sinüs
math.acos(x)   # Ark kosinüs
math.atan(x)   # Ark tanjant
math.atan2(y, x)  # y/x'in ark tanjantı (işaretleri dikkate alır)

d) Açı Dönüşümleri

python
Copy
Download
math.degrees(x)  # Radyandan dereceye çevirme
math.radians(x)  # Dereceden radyana çevirme

4. Yuvarlama ve Mutlak Değer

python
Copy
Download
math.ceil(x)   # Yukarı yuvarlama
math.floor(x)  # Aşağı yuvarlama
math.trunc(x)  # Sıfıra doğru yuvarlama (kesirli kısmı atar)
math.fabs(x)   # Mutlak değer (float için)
math.copysign(x, y)  # x'in büyüklüğü, y'nin işareti

5. Kombinatorik ve Faktöriyel

python
Copy
Download
math.factorial(x)  # x'in faktöriyeli (x!)
math.comb(n, k)    # Kombinasyon (n choose k) - Python 3.10+
math.perm(n, k)    # Permütasyon - Python 3.10+
math.gcd(*integers) # En büyük ortak bölen - Python 3.9+
math.lcm(*integers) # En küçük ortak kat - Python 3.9+

6. Özel Fonksiyonlar

python
Copy
Download
math.gamma(x)     # Gamma fonksiyonu
math.lgamma(x)    # Gamma fonksiyonunun mutlak değerinin doğal logaritması
math.erf(x)       # Hata fonksiyonu
math.erfc(x)      # Tamamlayıcı hata fonksiyonu

7. Hiperbolik Fonksiyonlar

python
Copy
Download
math.sinh(x)    # Hiperbolik sinüs
math.cosh(x)    # Hiperbolik kosinüs
math.tanh(x)    # Hiperbolik tanjant
math.asinh(x)   # Ters hiperbolik sinüs
math.acosh(x)   # Ters hiperbolik kosinüs
math.atanh(x)   # Ters hiperbolik tanjant

8. Kalan ve Mod İşlemleri

python
Copy
Download
math.fmod(x, y)     # C'deki fmod() gibi kalan bulma
math.remainder(x, y) # IEEE 754 standardına göre kalan - Python 3.7+

9. Diğer Faydalı Fonksiyonlar

python
Copy
Download
math.fsum(iterable)  # Daha doğru kayan nokta toplama
math.prod(iterable)  # Elemanların çarpımı - Python 3.8+
math.isclose(a, b)   # İki sayının yakın olup olmadığını kontrol etme
math.isfinite(x)     # Sonlu bir sayı mı?
math.isinf(x)        # Sonsuz mu?
math.isnan(x)        # NaN (Not a Number) mı?

Örnek Kullanımlar

1. Daire Alanı Hesaplama

python
Copy
Download
import math

def daire_alani(yaricap):
    return math.pi * yaricap ** 2

print(daire_alani(5))  # 78.53981633974483

2. İkinci Dereceden Denklem Çözme

python
Copy
Download
import math

def kokleri_bul(a, b, c):
    delta = b**2 - 4*a*c
    if delta < 0:
        return None
    kok1 = (-b + math.sqrt(delta)) / (2*a)
    kok2 = (-b - math.sqrt(delta)) / (2*a)
    return (kok1, kok2)

print(kokleri_bul(1, -5, 6))  # (3.0, 2.0)

3. Trigonometrik Hesaplamalar

python
Copy
Download
import math

aci_derece = 45
aci_radyan = math.radians(aci_derece)

print(f"sin({aci_derece}°) = {math.sin(aci_radyan)}")  # 0.7071067811865475
print(f"cos({aci_derece}°) = {math.cos(aci_radyan)}")  # 0.7071067811865476
print(f"tan({aci_derece}°) = {math.tan(aci_radyan)}")  # 0.9999999999999999

4. Kombinasyon Hesaplama

python
Copy
Download
import math

# 5 elemanlı bir kümeden 2'li kombinasyon sayısı
print(math.comb(5, 2))  # 10

Math Modülünün Sınırlamaları

  1. Karmaşık Sayılar: Math modülü yalnızca gerçek sayılarla çalışır. Karmaşık sayılar için cmath modülünü kullanmalısınız.

  2. Kayan Nokta Hassasiyeti: Tüm işlemler kayan nokta aritmetiği kullanır, bu nedenle hassasiyet sınırlamaları olabilir.

  3. Büyük Sayılar: Çok büyük sayılarla çalışırken taşma (overflow) hatası alabilirsiniz.

Alternatifler

Daha gelişmiş matematiksel işlemler için:

  • numpy: Bilimsel hesaplamalar için

  • scipy: Bilimsel ve teknik hesaplamalar

  • decimal: Yüksek hassasiyetli ondalık aritmetik

  • fractions: Kesirli sayı desteği

  • statistics: İstatistiksel fonksiyonlar

Math modülü, Python'da temel matematiksel işlemler için güçlü ve kullanışlı bir araçtır. Günlük programlama ihtiyaçlarının çoğunu karşılayabilir.

Hiç yorum yok:

Yorum Gönder

Popular Posts