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 作为比较器。 因此,它需要在值的两侧进行严格的不等式,才能将其视为最大值。 这意味着不会检测到平坦的最大值(宽度超过一个样本)。 如果是 1-D 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]))