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.])