scipy.signal.

argrelmax#

scipy.signal.argrelmax(data, axis=0, order=1, mode='clip')[原始碼]#

計算 data 的相對極大值。

參數:
datandarray

在其中尋找相對極大值的陣列。

axisint,選填

data 中選取的軸。預設值為 0。

orderint,選填

用於比較的每一側點數,以判斷 comparator(n, n+x) 是否為 True。

modestr,選填

向量邊緣的處理方式。可用選項為 ‘wrap’ (環繞) 或 ‘clip’ (將溢位視為與最後一個(或第一個)元素相同)。預設值 ‘clip’。請參閱 numpy.take

回傳:
extremandarray 的元組

整數陣列中極大值的索引。extrema[k]data 的軸 k 的索引陣列。請注意,即使 data 為 1 維,回傳值仍為元組。

註解

此函數使用 argrelextrema 以及 np.greater 作為比較器。因此,它需要值兩側的嚴格不等式才能將其視為極大值。這表示不會偵測到平坦極大值(寬度超過一個樣本)。對於 1 維 data,可以使用 find_peaks 來偵測所有局部極大值,包括平坦的極大值。

在 0.11.0 版本中新增。

範例

>>> import numpy as np
>>> from scipy.signal import argrelmax
>>> x = np.array([2, 1, 2, 3, 2, 0, 1, 0])
>>> argrelmax(x)
(array([3, 6]),)
>>> y = np.array([[1, 2, 1, 2],
...               [2, 2, 0, 0],
...               [5, 3, 4, 4]])
...
>>> argrelmax(y, axis=1)
(array([0]), array([1]))