我可以通过查找一阶导数或其他东西的零交叉来自己编写一些东西,但它似乎是一个通用的函数,可以包含在标准库中.谁知道一个?
我的特定应用是2D阵列,但通常它将用于在FFT等中查找峰值.
具体而言,在这些类型的问题中,存在多个强峰,然后是许多较小的"峰值",这些"峰值"仅由应该忽略的噪声引起.这只是例子; 不是我的实际数据:
一维峰值:
二维峰值:

峰值寻找算法将找到这些峰值的位置(不仅仅是它们的值),理想情况下会找到真正的样本间峰值,而不仅仅是具有最大值的索引,可能使用二次插值等.
通常,您只关心一些强峰,因此它们要么被选中,要么是因为它们高于某个阈值,要么是因为它们是有序列表的前n个峰值,按振幅排列.
正如我所说,我知道如何自己写这样的东西.我只是问是否有一个已知的功能或包已知可以正常工作.
更新:
我翻译了一个MATLAB脚本,它适用于1-D案例,但可能更好.
更新更新:
sixtenbe 为1-D案例创造了更好的版本.