【发布时间】:2010-12-07 12:36:11
【问题描述】:
编辑:其实这不是意外的行为,但我仍然需要一个解决方案。
findpeaks compares each element of data to its neighboring values.
我的数据包含使用信号处理工具箱中的函数findpeaks 检测到的峰值。有时,当我有两次相同的值彼此相邻时,该功能似乎无法正确检测到峰值。这在我的数据中很少发生,但这里有一个示例来说明我的问题:
>> values
values =
-0.0324
-0.0371
-0.0393
-0.0387
-0.0331
-0.0280
-0.0216
-0.0134
-0.0011
0.0098
0.0217
0.0352
0.0467
0.0548
0.0639
0.0740
0.0813
0.0858 <-- here should be another peak
0.0858 <--
0.0812
0.0719
0.0600
0.0473
0.0353
0.0239
0.0151
0.0083
0.0034
-0.0001
-0.0025
-0.0043
-0.0057
-0.0048
-0.0038
-0.0026
0.0007
0.0043
0.0062
0.0083
0.0106
0.0111
0.0116
0.0102
0.0089
0.0057
0.0025
-0.0025
-0.0056
现在 findpeaks 函数只找到一个峰值:
>> [pks loc] = findpeaks(values)
pks =
0.0116
loc =
42
如果我绘制数据,很明显 findpeaks 错过了位置 18/19 的峰之一,因为它们都具有值 0.08579。
找到那些缺失峰的最佳方法是什么?
【问题讨论】: