numpy.polynomial.chebyshev.chebinterpolate#
- polynomial.chebyshev.chebinterpolate(func, deg, args=())[源代码]#
在第一类切比雪夫点处插值一个函数.
返回在区间 [-1, 1] 中以第一类切比雪夫点插值 func 的切比雪夫级数.如果函数在区间内是连续的,则插值级数趋向于随着 deg 的增加而趋向于 func 的最小最大逼近.
- 参数:
- func函数
要近似的函数.它必须是形式为
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])