scipy.signal.
argrelmax#
- scipy.signal.argrelmax(data, axis=0, order=1, mode='clip')[源代码][源代码]#
计算 data 的相对极大值。
- 参数:
- 数据ndarray
要在其中找到相对最大值的数组。
- 轴int, 可选
要从 data 中选择的轴。默认值为 0。
- 顺序int, 可选
在比较时,每边使用多少个点来考虑
comparator(n, n+x)为 True。- 模式str, 可选
如何处理向量的边缘。可用选项有 ‘wrap’(环绕)或 ‘clip’(将溢出视为与最后一个(或第一个)元素相同)。默认 ‘clip’。参见
numpy.take。
- 返回:
- 极值ndarrays 的元组
整数数组中最大值的索引。
extrema[k]是 data 的轴 k 的索引数组。请注意,即使 data 是 1 维的,返回值也是一个元组。
注释
此函数使用
argrelextrema并结合 np.greater 作为比较器。因此,它要求一个值的两侧都存在严格的不等式,才能将其视为最大值。这意味着平坦的最大值(宽度超过一个样本)不会被检测到。对于一维 data,可以使用find_peaks来检测所有局部最大值,包括平坦的最大值。Added in version 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]))