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


Python numpy trapz用法及代碼示例


本文簡要介紹 python 語言中 numpy.trapz 的用法。

用法:

numpy.trapz(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 整數,可選

要沿其集成的軸。

返回

trapz 浮點數或 ndarray

‘y’ 的定積分 = 通過梯形規則沿單軸近似的 n 維數組。如果‘y’ 是一維數組,則結果為浮點數。如果 ‘n’ 大於 1,則結果是一個“n-1”維數組。

注意

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

參考

1

維基百科頁麵:https://en.wikipedia.org/wiki/Trapezoidal_rule

2

插圖圖片:https://en.wikipedia.org/wiki/File:Composite_trapezoidal_rule_illustration.png

例子

>>> np.trapz([1,2,3])
4.0
>>> np.trapz([1,2,3], x=[4,6,8])
8.0
>>> np.trapz([1,2,3], dx=2)
8.0

使用減小的 x 對應於反向積分:

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

更一般地,x 用於沿參數曲線積分。這找到了圓的麵積,注意我們重複關閉曲線的樣本:

>>> theta = np.linspace(0, 2 * np.pi, num=1000, endpoint=True)
>>> np.trapz(np.cos(theta), x=np.sin(theta))
3.141571941375841
>>> a = np.arange(6).reshape(2, 3)
>>> a
array([[0, 1, 2],
       [3, 4, 5]])
>>> np.trapz(a, axis=0)
array([1.5, 2.5, 3.5])
>>> np.trapz(a, axis=1)
array([2.,  8.])

相關用法


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