numpy.polynomial.chebyshev.chebinterpolate#

polynomial.chebyshev.chebinterpolate(функция, deg, args=())[источник]#

Интерполировать функцию в точках Чебышёва первого рода.

Возвращает ряд Чебышёва, который интерполирует функция в точках Чебышёва первого рода на интервале [-1, 1]. Интерполирующий ряд стремится к минимаксному приближению к функция с увеличением deg если функция непрерывна на интервале.

Параметры:
функцияфункция

Функция, которую нужно аппроксимировать. Это должна быть функция одной переменной вида f(x, a, b, c...), где a, b, c... являются дополнительными аргументами, передаваемыми в args параметр.

degint

Степень интерполяционного полинома

argsкортеж, необязательный

Дополнительные аргументы для использования в вызове функции. По умолчанию дополнительных аргументов нет.

Возвращает:
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])