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