numpy.polynomial.polynomial.polyval#
- polynomial.polynomial.polyval(x, c, тензор=True)[источник]#
Вычислить полином в точках x.
Если c имеет длину
n + 1, эта функция возвращает значение\[p(x) = c_0 + c_1 * x + ... + c_n * x^n\]Параметр x преобразуется в массив только если это кортеж или список, иначе обрабатывается как скаляр. В любом случае, либо x или его элементы должны поддерживать умножение и сложение как с самими собой, так и с элементами c.
Если c является одномерным массивом, тогда
p(x)будет иметь ту же форму, что и x. Если c является многомерным, то форма результата зависит от значения тензор. Если тензор если true, форма будет c.shape[1:] + x.shape. Если тензор если false, форма будет c.shape[1:]. Обратите внимание, что скаляры имеют форму (,).Замыкающие нули в коэффициентах будут использованы при вычислении, поэтому их следует избегать, если важна эффективность.
- Параметры:
- xarray_like, совместимый объект
Если x является списком или кортежем, он преобразуется в ndarray, в противном случае остается неизменным и обрабатывается как скаляр. В любом случае, x или его элементы должны поддерживать сложение и умножение с собой и с элементами c.
- carray_like
Массив коэффициентов, упорядоченных так, что коэффициенты для членов степени n содержатся в c[n]. Если c если многомерный, остальные индексы перечисляют несколько полиномов. В двумерном случае коэффициенты можно рассматривать как хранящиеся в столбцах c.
- тензорлогический, необязательный
Если True, форма массива коэффициентов расширяется единицами справа, по одной для каждого измерения x. Скаляры имеют размерность 0 для этого действия. Результат в том, что каждый столбец коэффициентов в c вычисляется для каждого элемента x. Если False, x транслируется по столбцам c для оценки. Этот ключевое слово полезно, когда c является многомерным. Значение по умолчанию — True.
- Возвращает:
- valuesndarray, совместимый объект
Форма возвращаемого массива описана выше.
Смотрите также
Примечания
Вычисление использует метод Горнера.
При использовании коэффициентов из полиномов, созданных с
Polynomial.fit()используйтеp(x)илиpolyval(x, p.convert().coef)для корректной обработки масштабирования домена/окна, а неpolyval(x, p.coef).Примеры
>>> import numpy as np >>> 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.])