scipy.integrate.

trapezoid#

scipy.integrate.trapezoid(y, x=None, dx=1.0, axis=-1)[Quelle]#

Integrieren entlang der gegebenen Achse mit der zusammengesetzten Trapezregel.

Wenn x angegeben ist, erfolgt die Integration sequenziell entlang seiner Elemente – diese werden nicht sortiert.

Integrieren Sie y (x) entlang jeder 1D-Scheibe entlang der gegebenen Achse, berechnen Sie \(\int y(x) dx\). Wenn x angegeben ist, integriert dies entlang der parametrischen Kurve und berechnet \(\int_t y(t) dt = \int_t y(t) \left.\frac{dx}{dt}\right|_{x=x(t)} dt\).

Parameter:
yarray_like

Eingabearray zum Integrieren.

xarray_like, optional

Die Stichprobenpunkte, die den y-Werten entsprechen. Wenn x None ist, wird angenommen, dass die Stichprobenpunkte gleichmäßig dx voneinander entfernt sind. Der Standardwert ist None.

dxSkalar, optional

Der Abstand zwischen den Stichprobenpunkten, wenn x None ist. Der Standardwert ist 1.

axisint, optional

Die Achse, entlang der integriert werden soll. Der Standardwert ist die letzte Achse.

Rückgabe:
trapezoidfloat oder ndarray

Bestimmtes Integral von y = n-dimensionales Array, approximiert entlang einer einzelnen Achse durch die Trapezregel. Wenn y ein 1-dimensionales Array ist, ist das Ergebnis ein Float. Wenn n größer als 1 ist, ist das Ergebnis ein n-1 dimensionales Array.

Hinweise

Das Bild [2] illustriert die Trapezregel – die y-Achsen-Positionen der Punkte werden aus dem y-Array entnommen, standardmäßig beträgt der x-Achsen-Abstand zwischen den Punkten 1.0, alternativ kann er mit dem x-Array oder dem Skalar dx angegeben werden. Der Rückgabewert entspricht der kombinierten Fläche unter den roten Linien.

Referenzen

Beispiele

Verwenden Sie die Trapezregel für gleichmäßig verteilte Punkte

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

Der Abstand zwischen den Stichprobenpunkten kann entweder über das Argument x oder dx ausgewählt werden

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

Die Verwendung eines abnehmenden x entspricht der Rückwärtsintegration

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

Allgemeiner wird x verwendet, um entlang einer parametrischen Kurve zu integrieren. Wir können das Integral \(\int_0^1 x^2 = 1/3\) mit

>>> x = np.linspace(0, 1, num=50)
>>> y = x**2
>>> integrate.trapezoid(y, x)
0.33340274885464394

Oder schätzen Sie die Fläche eines Kreises, bemerken Sie, dass wir die Stichprobe wiederholen, um die Kurve zu schließen

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

trapezoid kann entlang einer bestimmten Achse angewendet werden, um mehrere Berechnungen in einem Aufruf durchzuführen

>>> 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.])