scipy.signal.

argrelmax#

scipy.signal.argrelmax(data, axis=0, order=1, mode='clip')[源代码]#

计算 data 的相对最大值。

参数:
datandarray

要从中查找相对最大值的数组。

axisint,可选

用于从 data 中选择的轴。默认值为 0。

orderint,可选

用于比较,认为 comparator(n, n+x) 为真时的每侧需要使用多少个点。

modestr,可选

处理向量的边缘方式。可用选项为“wrap”(环绕)或“clip”(将溢出视为最后一个(或第一个)元素)。默认值为“clip”。查看 numpy.take

返回:
extremandarray 元组

整数数组中的极大值索引。extrema[k]datak 的索引数组。请注意,即使 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]))