scipy.interpolate.PPoly.
solve#
- PPoly.solve(y=0.0, discontinuity=True, extrapolate=None)[源代码]#
查找方程
pp(x) == y
的实数解。- 参数:
- y浮点数,可选
等式右侧的值。默认为零。
- discontinuity布尔值,可选
是否将断点处跨不连续性的符号变化报告为根。
- extrapolate{布尔值, ‘periodic’, None}, 可选
如果为布尔值,则确定是否返回基于第一个和最后一个区间外推的多项式的根。‘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.])