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 是一维的,返回值也是一个元组。

注意

此函数使用 argrelextrema 并以 np.greater 作为比较器。因此,它要求一个值两侧都存在严格不相等才能将其视为极大值。这意味着不会检测到平坦极大值(宽度超过一个采样)。对于一维 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]))