我正在使用 Python 3.7 编写一个程序,该程序需要我计算 Hermite 插值多项式的根,给定两点,, 功能 (,) 和导数值 (,) 在这些点上。我正在使用 Scipy v1.3.0 并使用 scipy.interpolate 库中的 CubicHermiteSpline 函数。代码的相关摘录是:
import numpy as np
from scipy.interpolate import BPoly,CubicHermiteSpline
#somewhere below inside a while loop with a counter variable k is this part
r=CubicHermiteSpline(eps[k-1:k+1],abs(l[k-1:k+1]), d1[k-1:k+1]).roots()
epsk=(np.abs(r - eps[k])).argmin()
其中abs(l)
包含多项式的值并d1
包含导数值。问题是 .roots() 为间隔返回一个空数组(,)。
ValueError: attempt to get argmin of an empty sequence
如何获得插值多项式的所有三个根,这可能不一定在区间内?