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 integrali float64 aritmetiği etkinleştirildiğinde en iyi şekilde çalışır. Float32 aritmetiğiyle rutinler daha düşük hassasiyetle çalışmaya devam eder. Gereken hata toleransı eps anahtar kelime bağımsız değişkeniyle belirtilebilir; varsayılan değer, derleme zamanındaki etolerance değeridir (fp64 için 1e-14, fp32 için 1e-8).

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.