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.
Siehe auch
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
[1]Wikipedia-Seite: https://en.wikipedia.org/wiki/Trapezoidal_rule
[2]Illustrationsbild: https://en.wikipedia.org/wiki/File:Composite_trapezoidal_rule_illustration.png
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
xoderdxausgewä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
xentspricht der Rückwärtsintegration>>> integrate.trapezoid([1, 2, 3], x=[8, 6, 4]) -8.0
Allgemeiner wird
xverwendet, 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
trapezoidkann 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.])