Spec-Zone.ru › NumPy 1.16

numpy.polynomial.polynomial.polyint

numpy.polynomial.polynomial.polyint(c, m=1, k=[], lbnd=0, scl=1, axis=0) [source]

Интегрирование многочлена.

Возвращает коэффициенты многочлена c интегрированного m раз от lbnd вдоль axis. На каждой итерации полученный ряд умножается на scl и добавляется константа интегрирования, k. Множитель масштабирования используется для линейного изменения переменной. («Будьте осторожны»: обратите внимание, что в зависимости от того, что вы делаете, вам может потребоваться scl быть обратной величиной того, что вы могли бы ожидать; для получения дополнительной информации см. раздел Примечания ниже.) Аргумент c представляет собой массив коэффициентов, от низшего до высшего порядка по каждой оси, например, [1, 2, 3] представляет многочлен 1 + 2*x + 3*x**2 , а [[1, 2], [1, 2]] представляет 1 + 1*x + 2*y + 2*x*y , если ось axis=0 — x , а ось axis=1 — y.

Параметры:
c : array_like

Одномерный массив коэффициентов многочлена, упорядоченный от низшего к высшему.

m : int, optional

Порядок интегрирования, должен быть положительным. (По умолчанию: 1)

k : {[], list, scalar}, optional

Константа(ы) интегрирования. Значение первого интеграла в нуле — первое значение в списке, значение второго интеграла в нуле — второе значение и т. д. Если k == [] (по умолчанию), все константы устанавливаются в ноль. Если m == 1, вместо списка может быть указано одно скалярное значение.

lbnd : scalar, optional

Нижняя граница интеграла. (По умолчанию: 0)

scl : scalar, optional

После каждого интегрирования результат умножается на scl перед добавлением константы интегрирования. (По умолчанию: 1)

axis : int, optional

Ось, по которой выполняется интегрирование. (По умолчанию: 0).

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

Возвращает:
S : ndarray

Массив коэффициентов интеграла.

Возбуждает:
ValueError

Если m < 1, len(k) > m, np.ndim(lbnd) != 0, или np.ndim(scl) != 0.

См. также

polyder

Примечания

Обратите внимание, что результат каждого интегрирования умножается на scl. Почему это важно? Предположим, что вы выполняете линейное изменение переменной u = ax + b в интеграле относительно x. Тогда dx = du/a, поэтому вам нужно установить scl равным 1/a — возможно, не то, что вы сначала подумали.

Примеры

>>> from numpy.polynomial import polynomial as P
>>> c = (1,2,3)
>>> P.polyint(c) # should return array([0, 1, 1, 1])
array([ 0.,  1.,  1.,  1.])
>>> P.polyint(c,3) # should return array([0, 0, 0, 1/6, 1/12, 1/20])
array([ 0.        ,  0.        ,  0.        ,  0.16666667,  0.08333333,
        0.05      ])
>>> P.polyint(c,k=3) # should return array([3, 1, 1, 1])
array([ 3.,  1.,  1.,  1.])
>>> P.polyint(c,lbnd=-2) # should return array([6, 1, 1, 1])
array([ 6.,  1.,  1.,  1.])
>>> P.polyint(c,scl=-2) # should return array([0, -2, -2, -2])
array([ 0., -2., -2., -2.])

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

Spec-Zone.ru

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