if (pbcg(k+M) > pbcg(k-1+M) && pbcg(k+M) > pbcg(k+1+M) && pbcg(k+M) > threshold)
peaks_y(Counter) = pbcg(k+M);
peaks_x(Counter) = k + M;
py = peaks_y(Counter);
px = peaks_x(Counter);
plot(px,py,'ro');
Counter = (Counter + 1)-1;
fid = fopen('y1.txt','a');
fprintf(fid, '%d\t%f\n', px, py);
fclose(fid);
end
end
此代码以前在找到峰值时没有任何问题.. 它找到唯一峰值的主要因素是 if (pbcg(k+M) > pbcg(k-1+M) && pbcg(k+M) ) > pbcg(k+1+M) && pbcg(k+M) > threshold) 但现在它一直向我显示所有高于阈值的峰值而不是特定的最高峰..
更新:如果最高峰有 4 个节点的值相同怎么办?
编辑: 如果多个峰值具有相同的值表面,我将取中间的值并绘制。
我的意思是例如 [1,1,1,4,4,4,2,2,2]
我将在第 5 个位置取“4”,因此该图将位于您看到的图表的中心