scipy.interpolate.BSpline.

интегрировать#

BSpline.интегрировать(a, b, экстраполяция=None)[источник]#

Вычислить определённый интеграл сплайна.

Параметры:
afloat

Нижний предел интегрирования.

bfloat

Верхний предел интегрирования.

экстраполяцияbool или 'periodic', опционально

следует ли экстраполировать за пределы базового интервала, t[k] .. t[-k-1], или принять сплайн равным нулю вне базового интервала. Если 'periodic', используется периодическая экстраполяция. Если None (по умолчанию), используется self.extrapolate.

Возвращает:
Яarray_like

Определенный интеграл сплайна на интервале [a, b].

Примеры

Построить линейный сплайн x if x < 1 else 2 - x на базовом интервале \([0, 2]\), и проинтегрировать его

>>> from scipy.interpolate import BSpline
>>> b = BSpline.basis_element([0, 1, 2])
>>> b.integrate(0, 1)
array(0.5)

Если пределы интегрирования находятся вне базового интервала, результат контролируется экстраполяция параметр

>>> b.integrate(-1, 1)
array(0.0)
>>> b.integrate(-1, 1, extrapolate=False)
array(0.5)
>>> import matplotlib.pyplot as plt
>>> fig, ax = plt.subplots()
>>> ax.grid(True)
>>> ax.axvline(0, c='r', lw=5, alpha=0.5)  # base interval
>>> ax.axvline(2, c='r', lw=5, alpha=0.5)
>>> xx = [-1, 1, 2]
>>> ax.plot(xx, b(xx))
>>> plt.show()
../../_images/scipy-interpolate-BSpline-integrate-1.png