numpy.polynomial.chebyshev.chebinterpolate#

polynomial.chebyshev.chebinterpolate(func, deg, args=())[源代码]#

在第一类切比雪夫点处插值一个函数.

返回在区间 [-1, 1] 内的第一类切比雪夫点处插值 func 的切比雪夫级数.如果函数在区间内连续,插值级数倾向于随着 deg 增加而对 func 进行最小最大逼近.

在 1.14.0 版本加入.

参数:
func函数

要近似的函数.它必须是一个单变量的函数,形式为 f(x, a, b, c...),其中 a, b, c... 是通过 args 参数传递的额外参数.

degint

插值多项式的度

argstuple, 可选

在函数调用中要使用的额外参数.默认是没有额外参数.

返回:
coefndarray, 形状 (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])