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