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])