scipy.interpolate.Akima1DInterpolator.

solve#

Akima1DInterpolator.solve(y=0.0, discontinuity=True, extrapolate=None)[source]#

找到方程 pp(x) == y 的实数解。

参数:
yfloat, 可选

等式右侧。默认值为零。

discontinuitybool, 可选

是否报告断点处跨越不连续点的符号变化作为根。

extrapolate{bool, ‘periodic’, None}, 可选

如果是 bool,则确定是否从基于第一个和最后一个区间外推的多项式返回根,'periodic' 的工作方式与 False 相同。如果为 None (默认值),则使用 self.extrapolate

返回:
rootsndarray

多项式的根。

如果 PPoly 对象描述多个多项式,则返回值是一个对象数组,其每个元素都是包含根的 ndarray。

注意

此例程仅适用于实值多项式。

如果分段多项式包含完全为零的部分,则根列表将包含相应区间的起点,后跟一个 nan 值。

如果多项式在断点处不连续,并且断点处存在符号变化,如果 discont 参数为 True,则会报告此情况。

示例

查找定义在区间 [-2, 1], [1, 2] 上的 [x**2 - 1, (x - 1)**2] 的根

>>> import numpy as np
>>> from scipy.interpolate import PPoly
>>> pp = PPoly(np.array([[1, -4, 3], [1, 0, 0]]).T, [-2, 1, 2])
>>> pp.solve()
array([-1.,  1.])