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