在平坦区域中找到matlab中的峰值

时间:2017-07-18 09:45:55

标签: matlab

我在matlab中的数组中有数据。我想找到峰值,但遇到下图所示的以下问题。

为了生成峰值并绘制它们,我使用了以下代码:

gyryMF = medfilt1(gyry, 3);
[pks, gyryPeaks] = findpeaks(gyryMF);
%%
plot(gyryMF);
text(gyryPeaks+.02,pks,num2str((1:numel(pks))')); 

Picture

从图片中可以看出,没有找到一些峰值,因为有一个平坦的区域。我想知道我是否可以找到并包含它们?

1 个答案:

答案 0 :(得分:0)

如何用自己的标准编写自己的峰函数?

peak_no = []

ind_peak_no = []

如果Data(x)<数据(x + 1)&&数据(x + 1)>数据(x + 2)&&数据(x + 1)> Peak_min
      peak_no = [peak_no; Data(x + 1)];
      ind_peak_no = [ind_peak_no; X + 1];