當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python SciPy integrate.trapezoid用法及代碼示例


本文簡要介紹 python 語言中 scipy.integrate.trapezoid 的用法。

用法:

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

使用複合梯形規則沿給定軸積分。

如果提供了 x,則集成會沿著其元素按順序進行 - 它們沒有排序。

整合y(x) 沿給定軸上的每個 1d 切片,計算\(\int y(x) dx\) .什麽時候x被指定,這沿著參數曲線集成,計算\(\int_t y(t) dt = \int_t y(t) \left.\frac{dx}{dt}\right|_{x=x(t)} dt\) .

參數

y array_like

要集成的輸入數組。

x 數組,可選

對應於 y 值的樣本點。如果 x 為 None,則假定采樣點均勻分布 dx。默認值為無。

dx 標量,可選

x 為 None 時采樣點之間的間距。默認值為 1。

axis 整數,可選

要沿其集成的軸。

返回

trapezoid 浮點數或 ndarray

y = n 維數組的定積分,按照梯形規則沿單軸近似。如果 y 是一維數組,則結果是浮點數。如果 n 大於 1,則結果是 n-1 維數組。

注意

圖片[2]說明梯形規則 - 點的 y 軸位置將取自y數組,默認情況下,點之間的 x 軸距離將為 1.0,或者它們可以提供x數組或與dx標量。返回值將等於紅線下的組合麵積。

參考

例子

對均勻分布的點使用梯形法則:

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

樣本點之間的間距可以通過 xdx 參數選擇:

>>> 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

更一般地說,x 用於沿參數曲線積分。我們可以使用以下方法估計積分

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

相關用法


注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.integrate.trapezoid。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。