scipy.signal.
argrelmin#
- scipy.signal.argrelmin(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.less 作为比较器。因此,它要求一个值的两侧都严格不等才能将其视为最小值。这意味着不会检测到平坦的最小值(宽度超过一个样本)。在 1-D data 的情况下,可以使用find_peaks
检测所有局部最小值,包括平坦的最小值,方法是使用取反的 data 调用它。在 0.11.0 版本中添加。
示例
>>> import numpy as np >>> from scipy.signal import argrelmin >>> x = np.array([2, 1, 2, 3, 2, 0, 1, 0]) >>> argrelmin(x) (array([1, 5]),) >>> y = np.array([[1, 2, 1, 2], ... [2, 2, 0, 0], ... [5, 3, 4, 4]]) ... >>> argrelmin(y, axis=1) (array([0, 2]), array([2, 1]))