scipy.integrate — Sayısal integral alma

scipy.integrate alt modülü, gerçek değerli, tek değişkenli fonksiyonlar için sayısal integral alma rutinleri sağlar. Algoritmalar CPython’ın scipy.integrate modülünden taşınmamış, https://www.genivia.com/qthsh.html adresindeki referans uygulamadan türetilmiştir.

Sayısal integral alma en iyi sonucu float64 matematiği etkinken verir. float32 matematiğiyle rutinler yine de çalışır, ancak hassasiyet azalır. Gerekli hata toleransı eps anahtar kelime argümanıyla belirtilebilir; varsayılan, derleme zamanı etolerance değeridir (fp64 için 1e-14, fp32 için 1e-8). Karmaşık sayılar desteklenmez.

Fonksiyonlar

scipy.integrate.quad(f: Callable[[float], float], a: float, b: float, *, order: int = 5, eps: float = etolerance) tuple[float, float]

Uyarlamalı Gauss-Kronrod (G10, K21) kuadratürü kullanarak f fonksiyonunun a ile b arasındaki integralini alır. Bu, önerilen genel amaçlı integral alıcıdır.

Parametreler:
  • f – tek bir float alan ve bir float döndüren çağrılabilir nesne.

  • a – alt integral sınırı.

  • b – üst integral sınırı.

  • order – integral alma derecesi (varsayılan 5).

  • eps – hata toleransı (varsayılan etolerance).

Dönüşler:

integralin değerini ve bir hata tahminini veren, float türünde bir 2 öğeli (result, error) demeti.

scipy.integrate.romberg(f: Callable[[float], float], a: float, b: float, *, steps: int = 100, eps: float = etolerance) float

Romberg yöntemini kullanarak f fonksiyonunun a ile b arasındaki integralini alır; bu, integrand’ı eşit aralıklı noktalarda değerlendiren bir Newton-Cotes formülüdür. Sürekli türevleri olan integrand’lar için en uygunudur. scipy.integrate.romberg fonksiyonunun CPython’da SciPy 1.12.0’dan beri kullanımdan kaldırıldığını unutmayın; yeni kod için quad() tercih edin.

Parametreler:
  • f – tek bir float alan ve bir float döndüren çağrılabilir nesne.

  • a – alt integral sınırı.

  • b – üst integral sınırı.

  • steps – adım sayısı (varsayılan 100).

  • eps – hata toleransı (varsayılan etolerance).

Dönüşler:

integralin float türündeki değeri.

scipy.integrate.simpson(f: Callable[[float], float], a: float, b: float, *, steps: int = 100, eps: float = etolerance) float

Uyarlamalı Simpson kuralını kullanarak f fonksiyonunun a ile b arasındaki integralini alır. CPython’ın scipy.integrate.simpson fonksiyonundan farklı olarak bu fonksiyon, önceden hesaplanmış fonksiyon değerlerinden oluşan bir dizi almak yerine bir çağrılabilir nesne alır ve örnek aralığını dahili olarak seçer.

Parametreler:
  • f – tek bir float alan ve bir float döndüren çağrılabilir nesne.

  • a – alt integral sınırı.

  • b – üst integral sınırı.

  • steps – adım sayısı (varsayılan 100).

  • eps – hata toleransı (varsayılan etolerance).

Dönüşler:

integralin float türündeki değeri.

scipy.integrate.tanhsinh(f: Callable[[float], float], a: float, b: float, *, levels: int = 6, eps: float = etolerance) tuple[float, float]

Tanh-Sinh, Sinh-Sinh ve Exp-Sinh (çift üstel) kuadratür ailesini kullanarak f fonksiyonunun a ile b arasındaki integralini alır. Integrand’ın uç noktalarda tekillikleri veya sonsuz türevleri olduğunda kullanılacak rutin budur ve bu alt modülde sonsuz integral sınırlarını (örn. -np.inf, np.inf) kabul eden tek rutindir.

Parametreler:
  • f – tek bir float alan ve bir float döndüren çağrılabilir nesne.

  • a – alt integral sınırı; -np.inf olabilir.

  • b – üst integral sınırı; np.inf olabilir.

  • levels – iyileştirme seviyesi sayısı (varsayılan 6).

  • eps – hata toleransı (varsayılan etolerance).

Dönüşler:

integralin değerini ve bir hata tahminini veren, float türünde bir 2 öğeli (result, error) demeti.