scipy.interpolate.BSpline.integrate

BSpline.integrate(a, b, extrapolate=None)[源代码]

计算样条的定积分。

参数
a浮动

积分下限。

b浮动

积分上限。

extrapolate布尔值或‘周期性’,可选

是否在基准间隔之外进行外推, t[k] .. t[-k-1] ,或者将样条取为基准区间之外的零。如果为‘PERIONAL’,则使用周期性外推。如果无(默认值),请使用 self.extrapolate

退货
Iarray_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)

如果积分限制在基本间隔之外,则结果由 extrapolate 参数

>>> 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