numpy.polynomial.chebyshev.chebinterpolate#
- polynomial.chebyshev.chebinterpolate(func, deg, args=())[源代码]#
在第一类切比雪夫点处插值函数。
返回在区间 [-1, 1] 的第一类切比雪夫点上插值 func 的切比雪夫级数。当 deg 增加时,插值级数趋向于 func 的 minmax 近似,前提是函数在该区间内是连续的。
- 参数:
- funcfunction
要近似的函数。它必须是一个单变量函数,形式为
f(x, a, b, c...),其中a, b, c...是在 args 参数中传递的附加参数。- degint
插值多项式的次数
- args元组,可选
在函数调用中使用的附加参数。默认为无附加参数。
- 返回:
- coefndarray, shape (deg + 1,)
插值级数的切比雪夫系数,按从低到高的顺序排列。
备注
在第一类切比雪夫点上采样时,切比雪夫多项式是正交的。如果要约束某些系数,可以在插值后简单地将其设置为所需值,无需重新插值或拟合。当先验知道某些系数为零时,这尤其有用。例如,如果函数是偶函数,则结果中奇次项的系数可以设置为零。
示例
>>> import numpy.polynomial.chebyshev as C >>> C.chebinterpolate(lambda x: np.tanh(x) + 0.5, 8) array([ 5.00000000e-01, 8.11675684e-01, -9.86864911e-17, -5.42457905e-02, -2.71387850e-16, 4.51658839e-03, 2.46716228e-17, -3.79694221e-04, -3.26899002e-16])