numpy.trapz()

Функция np.trapz выполняет численное интегрирование методом трапеций по дискретным точкам. Это точнее метода прямоугольников и идеально подходит для оценки площади под кривой сигнала.

Примечание

В NumPy 2.0 функция переименована в np.trapezoid; np.trapz оставлено как алиас с предупреждением о депрекации.

Сигнатура

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

Параметры

  • y — массив значений функции.

  • x — массив координат точек (необязательно). Если не задан — используется равномерный шаг dx.

  • dx — шаг между точками, если x не задан.

  • axis — ось интегрирования.

Возвращаемое значение

Скаляр или массив, равный приближённой площади под кривой.

Примеры

Пример 1. Простое интегрирование с равномерным шагом.

import numpy as np

y = np.array([0, 1, 2, 3, 4])
print(np.trapz(y))
8.0

Пример 2. Интегрирование sin(x) от 0 до π (точное значение = 2).

x = np.linspace(0, np.pi, 1000)
y = np.sin(x)
print(round(np.trapz(y, x), 6))
1.999998

Пример 3. Площадь под кривой сигнала с датчика.

t = np.array([0.0, 0.1, 0.2, 0.3, 0.4])
current = np.array([0.0, 1.2, 1.5, 1.1, 0.0])
charge = np.trapz(current, t)
print(round(charge, 4))
0.385

Пример 4. Использование dx вместо x.

y = np.array([1.0, 2.0, 3.0, 4.0])
print(np.trapz(y, dx=0.5))
3.75

Пример 5. Интегрирование по строкам матрицы.

m = np.array([[0, 1, 2, 3],
              [3, 2, 1, 0]])
print(np.trapz(m, axis=1))
[4.5 4.5]

См. также

Примечание

Лицензия и источники

Техническое описание функции адаптировано из официальной документации NumPy (https://numpy.org/doc/stable/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.