scipy.integrate.

трапеция#

scipy.integrate.трапеция(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\).

Параметры:
yarray_like

Входной массив для интегрирования.

xarray_like, необязательный

Точки выборки, соответствующие y значения. Если x равно None, точки выборки предполагаются равномерно распределенными dx отдельно. По умолчанию None.

dxскаляр, опционально

Расстояние между точками выборки, когда x равно None. По умолчанию 1.

осьint, необязательный

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

Возвращает:
трапецияfloat или ndarray

Определенный интеграл y = n-мерный массив, аппроксимированный вдоль одной оси по правилу трапеций. Если y является одномерным массивом, то результат — число с плавающей точкой. Если n больше 1, тогда результат представляет собой n-1-мерный массив.

Смотрите также

cumulative_trapezoid, simpson, romb

Примечания

Изображение [2] иллюстрирует правило трапеций – расположение точек по оси Y будет взято из y массив, по умолчанию расстояния по оси x между точками будут 1.0, альтернативно они могут быть предоставлены с помощью x массив или с dx скаляр. Возвращаемое значение будет равно суммарной площади под красными линиями.

Ссылки

[1]

Страница Википедии: https://en.wikipedia.org/wiki/Trapezoidal_rule

[2]

Иллюстративное изображение: значение

Примеры

Используйте правило трапеций на равномерно распределенных точках:

>>> import numpy as np
>>> from scipy import integrate
>>> integrate.trapezoid([1, 2, 3])
4.0

Расстояние между точками выборки может быть выбрано либо x или dx аргументы:

>>> integrate.trapezoid([1, 2, 3], x=[4, 6, 8])
8.0
>>> integrate.trapezoid([1, 2, 3], dx=2)
8.0

Используя убывающий x соответствует интегрированию в обратном порядке:

>>> integrate.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
>>> integrate.trapezoid(y, x)
0.33340274885464394

Или оценить площадь круга, отметив, что мы повторяем выборку, которая замыкает кривую:

>>> theta = np.linspace(0, 2 * np.pi, num=1000, endpoint=True)
>>> integrate.trapezoid(np.cos(theta), x=np.sin(theta))
3.141571941375841

trapezoid может быть применён вдоль указанной оси для выполнения нескольких вычислений за один вызов:

>>> a = np.arange(6).reshape(2, 3)
>>> a
array([[0, 1, 2],
       [3, 4, 5]])
>>> integrate.trapezoid(a, axis=0)
array([1.5, 2.5, 3.5])
>>> integrate.trapezoid(a, axis=1)
array([2.,  8.])