FindPeaks
FindPeaks[list]
给出从 list 中检测到的峰的位置和值.
FindPeaks[list,σ]
找出尺度为 σ 的高斯模糊下的峰.
FindPeaks[list,σ,s]
找出最小锐度为 s 的峰.
FindPeaks[list,σ,s,t]
找出那些值大于 t 的峰.
FindPeaks[list,σ,{s,σs},{t,σt}]
用不同的尺度对锐度和值进行阈值处理.
更多信息和选项
- FindPeaks 用给定的约束找出局部极大值,返回结果的形式为 {{x1,f1},{x2,f2},…}.
- 输入 list 可为以下形式之一:
-
{y1,y2,…} 数值列表 TimeSeries[…] 规律采样的时间序列对象 EventSeries[…] 规律采样的事件序列对象 - FindPeaks[list] 自动选择尺度、锐度和阈值参数.
- 为了避免检测到与噪声相关的峰值,通过使用标准偏差 σ 执行高斯滤波来对输入进行正则化.
- σ 的值默认为 ,其中 n 是 list 中数据点的个数. 较大的 σ 值将使检测到的峰值的数量减少.
- 在正则化数据中检测到的峰值可追溯到原始数据中对应的峰值.
- 默认情况下,不会根据锐度来检测峰值 (). 使用尺度为 σ 的高斯滤波器通过数据的二阶导数来计算锐度 s. 可用 {s,σs} 指定更小的尺度.
- 默认情况下,将返回所有高度的峰. 使用阈值 t 可清除较小的峰值. 可用 {t,σt} 设置非零的阈值.
- FindPeaks[list,σ,s,t] 等价于 FindPeaks[list,σ,{s,σ},{t,0}].
- 可以设置下列选项:
-
InterpolationOrder Automatic 最高到 3 阶的样条插值 Padding "Reflected" 使用的填充方式 - 默认情况下,对于数据列表,假定 InterpolationOrder1. 对于 TimeSeries 对象,则使用原来的插值阶数.
- 计算峰值位置时要使用插值阶数. 在不同的插值阶数下,峰值可能位于插值点 {x,y} 之间,也可能位于其上方.
- 插值阶数为 0 或 1 时,指定两个或多个数据样本之间的平台的中心位置为一个峰值.
- 对于 Padding 的可能设置,请参阅 ArrayPad 的参考页面.
范例
打开所有单元关闭所有单元范围 (12)
数据 (4)
选项 (3)
InterpolationOrder (1)
Padding (2)
Wolfram Research (2014),FindPeaks,Wolfram 语言函数,https://reference.wolfram.com/language/ref/FindPeaks.html (更新于 2021 年).
文本
Wolfram Research (2014),FindPeaks,Wolfram 语言函数,https://reference.wolfram.com/language/ref/FindPeaks.html (更新于 2021 年).
CMS
Wolfram 语言. 2014. "FindPeaks." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2021. https://reference.wolfram.com/language/ref/FindPeaks.html.
APA
Wolfram 语言. (2014). FindPeaks. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/FindPeaks.html 年