scipy.interpolate.PPoly.

solve#

PPoly.solve(y=0.0, discontinuity=True, extrapolate=None)[原始碼]#

尋找方程式 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.])