【发布时间】:2016-05-10 04:49:58
【问题描述】:
我有一个这样的图表,我想确定峰值的数量。因为它是一个波函数,所以整个图有很多峰值,这就是为什么我无法使用诸如findpeaks 之类的函数来找到峰值数量的原因,因为它返回了大约 3000 个峰值,而我想要数字 7 .
我的想法是做一个 for 或 while 循环来计算平均值高于 0.5 的实例数。所以最终我想要一个在图表上分段迭代的函数返回峰值的数量和出现这个峰值的 y 索引值的范围(我认为最好的方法是将它们保存到零矩阵)。
文件数据链接:https://www.dropbox.com/s/vv8vqv28mqzfr9l/Example_data.mat?dl=0
【问题讨论】:
-
如果您只想要这 7 个“厚”峰,您可能希望在找到峰之前先通过低通滤波器运行它
-
你能加入.mat文件吗?当我们可以自己尝试不同的解决方案时会更方便。
-
@Dan 我查看了低通滤波器。但是,由于我不是高级 MatLab 用户,我可能想要更简单的东西。
-
@Flo 那么您可能需要找到已经为您清理过的更简单的数据。过滤这些数据就像调用
conv(data, ones(n,1)/n,'same')一样简单 -
请不要破坏您的帖子。
标签: matlab