numpy.polyval#

numpy.polyval(p, x)[источник]#

Вычислить полином при определённых значениях.

Примечание

Это часть старого API полиномов. Начиная с версии 1.4, новый API полиномов, определенный в numpy.polynomial предпочтительнее. Сводку различий можно найти в руководство по переходу.

Если p имеет длину N, эта функция возвращает значение:

p[0]*x**(N-1) + p[1]*x**(N-2) + ... + p[N-2]*x + p[N-1]

Если x является последовательностью, тогда p(x) возвращается для каждого элемента x. Если x является другим полиномом, то составной полином p(x(t)) возвращается.

Параметры:
parray_like или объект poly1d

1D-массив коэффициентов полинома (включая коэффициенты, равные нулю) от старшей степени до постоянного члена, или экземпляр poly1d.

xarray_like или объект poly1d

Число, массив чисел или экземпляр poly1d, в котором нужно вычислить p.

Возвращает:
valuesndarray или poly1d

Если x является экземпляром poly1d, результат — композиция двух полиномов, т.е., x «подставляется» в p и возвращается упрощённый результат. Кроме того, тип x - array_like или poly1d - определяет тип вывода: x array_like => values array_like, x объект poly1d => values также.

Смотрите также

poly1d

Класс полинома.

Примечания

Схема Горнера [1] используется для вычисления полинома. Тем не менее, для полиномов высокой степени значения могут быть неточными из-за ошибок округления. Используйте осторожно.

Если x является подтипом ndarray возвращаемое значение будет того же типа.

Ссылки

[1]

И. Н. Бронштейн, К. А. Семендяев и К. А. Хирш (англ. перевод ред.), Справочник по математике, New York, Van Nostrand Reinhold Co., 1985, стр. 720.

Примеры

>>> import numpy as np
>>> np.polyval([3,0,1], 5)  # 3 * 5**2 + 0 * 5**1 + 1
76
>>> np.polyval([3,0,1], np.poly1d(5))
poly1d([76])
>>> np.polyval(np.poly1d([3,0,1]), 5)
76
>>> np.polyval(np.poly1d([3,0,1]), np.poly1d(5))
poly1d([76])