numpy.trapz

numpy.trapz(y, x=None, dx=1.0, axis=-1)

Функция trapz() выполняет интегрирование массива значений функции y(x) вдоль указанной оси методом трапеций.

Параметры:
y - массив или подобный массиву объект
Интегрируемый массив.
x - массив или подобный массиву объект (необязательный)
В случае неравномерной по оси x координатной сетки, задает абсциссы (x - координаты) точек значений функции y(x). Поддерживает механизм транслирования.
dx - число (необязательный)
В случае равномерной сетки, задает одинаковый интервал между значениями функции y(x) (при условии, что параметр x не задан).
axis - целое число (необязательный)
Указывает ось вдоль которой выполняется интегрирование (по умолчанию последняя ось).
Возвращает:
результат - вещественное число
Вычисленное методом трапеций значение определенного интеграла функции y(x).

Замечание

Аргументами numpy.trapz() могут быть массивы с любыми числовыми значениями, доступными в NumPy, так же как и все ее необязательные параметры могут принимать такие значения, как np.nan или np.inf, что может привести к неоднозначным или неправильным результатам.

Информация о методе трапеций на Википедии: https://ru.wikipedia.org/wiki/Метод_трапеций.


Смотрите так же: sum, nansum, cumsum, nancumsum

Примеры

>>> import numpy as np
>>> 
>>> np.trapz([1, 1, 1])
2.0
>>> 
>>> np.trapz([1, 1, 1], x = [0, 4, 9])
9.0
>>> 
>>> np.trapz([1, 1, 1], dx = 15)
30.0
>>> 
>>>
>>> y = np.arange(9).reshape(3, 3)
>>> y
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
>>> 
>>> np.trapz(y, axis = 0)
array([ 6.,  8., 10.])
>>> np.trapz(y, axis = -1)    #  по умолчанию axis = -1
array([ 2.,  8., 14.])