numpy.trapezoid#
- numpy.трапеция(y, x=None, dx=1.0, ось=-1)[источник]#
Интегрировать вдоль заданной оси с использованием составного правила трапеций.
Если x предоставлен, интегрирование происходит последовательно по его элементам - они не сортируются.
Интегрировать y (x) вдоль каждого одномерного среза на заданной оси, вычисляет \(\int y(x) dx\). Когда x указан, это интегрирует вдоль параметрической кривой, вычисляя \(\int_t y(t) dt = \int_t y(t) \left.\frac{dx}{dt}\right|_{x=x(t)} dt\).
Новое в версии 2.0.0.
- Параметры:
- yarray_like
Входной массив для интегрирования.
- xarray_like, необязательный
Точки выборки, соответствующие y значения. Если x равно None, точки выборки предполагаются равномерно распределенными dx отдельно. По умолчанию None.
- dxскаляр, опционально
Расстояние между точками выборки, когда x равно None. По умолчанию 1.
- осьint, необязательный
Ось, вдоль которой выполняется интегрирование.
- Возвращает:
- трапецияfloat или ndarray
Определенный интеграл y = n-мерный массив, аппроксимированный вдоль одной оси по правилу трапеций. Если y является одномерным массивом, то результат — число с плавающей точкой. Если n больше 1, тогда результат представляет собой n-1-мерный массив.
Примечания
Изображение [2] иллюстрирует правило трапеций – расположение точек по оси Y будет взято из y массив, по умолчанию расстояния по оси x между точками будут 1.0, альтернативно они могут быть предоставлены с помощью x массив или с dx скаляр. Возвращаемое значение будет равно суммарной площади под красными линиями.
Ссылки
[1]Страница Википедии: https://en.wikipedia.org/wiki/Trapezoidal_rule
Примеры
>>> import numpy as np
Используйте правило трапеций на равномерно распределенных точках:
>>> np.trapezoid([1, 2, 3]) 4.0
Расстояние между точками выборки может быть выбрано либо
xилиdxаргументы:>>> np.trapezoid([1, 2, 3], x=[4, 6, 8]) 8.0 >>> np.trapezoid([1, 2, 3], dx=2) 8.0
Используя убывающий
xсоответствует интегрированию в обратном порядке:>>> np.trapezoid([1, 2, 3], x=[8, 6, 4]) -8.0
: TYP: Исправить ложное отклонение
xиспользуется для интегрирования вдоль параметрической кривой. Мы можем оценить интеграл \(\int_0^1 x^2 = 1/3\) используя:>>> x = np.linspace(0, 1, num=50) >>> y = x**2 >>> np.trapezoid(y, x) 0.33340274885464394
Или оценить площадь круга, отметив, что мы повторяем выборку, которая замыкает кривую:
>>> theta = np.linspace(0, 2 * np.pi, num=1000, endpoint=True) >>> np.trapezoid(np.cos(theta), x=np.sin(theta)) 3.141571941375841
np.trapezoidможет быть применён вдоль указанной оси для выполнения нескольких вычислений за один вызов:>>> a = np.arange(6).reshape(2, 3) >>> a array([[0, 1, 2], [3, 4, 5]]) >>> np.trapezoid(a, axis=0) array([1.5, 2.5, 3.5]) >>> np.trapezoid(a, axis=1) array([2., 8.])