Spec-Zone.ru › NumPy 1.14

numpy.polynomial.polynomial.polyval

numpy.polynomial.polynomial.polyval(x, c, tensor=True) [source]

Вычисление значения многочлена в точках x.

Если c имеет длину n + 1, эта функция возвращает значение

p(x) = c_0 + c_1 * x + ... + c_n * x^n

Параметр x преобразуется в массив только в том случае, если он является кортежем или списком, в противном случае он обрабатывается как скаляр. В любом случае, либо x, либо его элементы должны поддерживать умножение и сложение как с собой, так и с элементами c.

Если c является одномерным массивом, то p(x) будет иметь такую же форму, как x . Если c является многомерным, то форма результата зависит от значения tensor . Если tensor истинно, форма будет c.shape[1:] + x.shape. Если tensor ложно, форма будет c.shape[1:]. Обратите внимание, что скаляры имеют форму (,).

Коэффициенты с последующими нулями будут использоваться в вычислениях, поэтому их следует избегать, если важно обеспечить эффективность.

Параметры:

x : array_like, совместимый объект

Если x является списком или кортежем, он преобразуется в ndarray, иначе он остается неизменным и обрабатывается как скаляр. В любом случае, x или его элементы должны поддерживать сложение и умножение с собой и с элементами c.

c : array_like

Массив коэффициентов, упорядоченных таким образом, что коэффициенты для членов степени n содержатся в c[n]. Если c является многомерным, оставшиеся индексы перечисляют несколько многочленов. В двумерном случае коэффициенты можно рассматривать как хранящиеся в столбцах c.

tensor : boolean, optional

Если True, форма массива коэффициентов расширяется единицами справа, по одному для каждой размерности x. Скаляры имеют размерность 0 для этого действия. В результате каждый столбец коэффициентов в c оценивается для каждого элемента x . Если False, x транслируется по столбцам c для вычисления. Этот ключевой параметр полезен, когда c многомерный. Значение по умолчанию — True.

Введено в версии 1.7.0.

Возвращает:

values : ndarray, совместимый объект

Форма возвращаемого массива описана выше.

См. также

polyval2d, polygrid2d, polyval3d, polygrid3d

Примечания

Вычисление выполняется методом Горнера.

Примеры

>>> from numpy.polynomial.polynomial import polyval
>>> polyval(1, [1,2,3])
6.0
>>> a = np.arange(4).reshape(2,2)
>>> a
array([[0, 1],
       [2, 3]])
>>> polyval(a, [1,2,3])
array([[  1.,   6.],
       [ 17.,  34.]])
>>> coef = np.arange(4).reshape(2,2) # multidimensional coefficients
>>> coef
array([[0, 1],
       [2, 3]])
>>> polyval([1,2], coef, tensor=True)
array([[ 2.,  4.],
       [ 4.,  7.]])
>>> polyval([1,2], coef, tensor=False)
array([ 2.,  7.])

© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.14.5/reference/generated/numpy.polynomial.polynomial.polyval.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API