scipy.integrate — Числове інтегрування¶
Підмодуль scipy.integrate надає процедури числового інтегрування дійснозначних функцій однієї змінної. Алгоритми не портовані з CPython scipy.integrate, а походять з еталонної реалізації на https://www.genivia.com/qthsh.html.
Numerical integration works best with float64 math enabled. With float32
math the routines still work, with reduced precision. The required error
tolerance can be specified via the eps keyword argument; the
default is the compile-time etolerance value (1e-14 for fp64,
1e-8 for fp32).
Функції¶
- scipy.integrate.quad(f: Callable[[float], float], a: float, b: float, *, order: int = 5, eps: float = etolerance) tuple[float, float]¶
Інтегрування f від a до b за допомогою адаптивної квадратури Гаусса–Кронрода (G10, K21). Це рекомендований інтегратор загального призначення.
- Параметри:
f – функція, яка приймає одне
floatі повертаєfloat.a – нижня межа інтегрування.
b – верхня межа інтегрування.
order – порядок інтегрування (за замовчуванням
5).eps – допуск похибки (за замовчуванням
etolerance).
- Повертає:
двоелементний кортеж
(result, error)із float, що містить значення інтеграла та оцінку похибки.
- scipy.integrate.romberg(f: Callable[[float], float], a: float, b: float, *, steps: int = 100, eps: float = etolerance) float¶
Інтегрування f від a до b методом Ромберга — формулою Ньютона–Котеса, що обчислює підінтегральну функцію в рівновіддалених точках. Найкраще підходить для функцій з неперервними похідними. Зауважте, що
scipy.integrate.rombergє застарілим у CPython починаючи з SciPy 1.12.0; для нового коду надавайте перевагуquad().- Параметри:
f – функція, яка приймає одне
floatі повертаєfloat.a – нижня межа інтегрування.
b – верхня межа інтегрування.
steps – кількість кроків (за замовчуванням
100).eps – допуск похибки (за замовчуванням
etolerance).
- Повертає:
значення інтеграла як
float.
- scipy.integrate.simpson(f: Callable[[float], float], a: float, b: float, *, steps: int = 100, eps: float = etolerance) float¶
Інтегрування f від a до b за допомогою адаптивного правила Сімпсона. На відміну від
scipy.integrate.simpsonу CPython, ця функція приймає функцію-аргумент і самостійно вибирає крок вибірки, а не масив попередньо обчислених значень.- Параметри:
f – функція, яка приймає одне
floatі повертаєfloat.a – нижня межа інтегрування.
b – верхня межа інтегрування.
steps – кількість кроків (за замовчуванням
100).eps – допуск похибки (за замовчуванням
etolerance).
- Повертає:
значення інтеграла як
float.
- scipy.integrate.tanhsinh(f: Callable[[float], float], a: float, b: float, *, levels: int = 6, eps: float = etolerance) tuple[float, float]¶
Інтегрування f від a до b за допомогою сімейства квадратур тангенс-синус, синус-синус і показникова (подвійна експонента). Ця процедура підходить, коли підінтегральна функція має особливості або нескінченні похідні на кінцях інтервалу, і є єдиною в цьому підмодулі, що приймає нескінченні межі інтегрування (наприклад,
-np.inf,np.inf).- Параметри:
f – функція, яка приймає одне
floatі повертаєfloat.a – нижня межа інтегрування; може бути
-np.inf.b – верхня межа інтегрування; може бути
np.inf.levels – кількість рівнів уточнення (за замовчуванням
6).eps – допуск похибки (за замовчуванням
etolerance).
- Повертає:
двоелементний кортеж
(result, error)із float, що містить значення інтеграла та оцінку похибки.