我在MATLAB中使用了findpeaks
函数来查找信号中峰值(Local Maxima)的位置和值。
[pks, locs] = findpeaks(X_Segments{nn},'MinPeakDistance', 20);
AverageDistance_Peaks(nn,:) = mean(diff(locs));
X_Segments
包含数据。
是否有任何函数可以提取下图的局部最小值?
答案 0 :(得分:1)
首先否定你的信号。这将为您提供当地的最小值。
% Pass a negative version of X_segments
[pks, locs] = findpeaks(-X_Segments{nn},'MinPeakDistance', 20);
AverageDistance_Peaks(nn,:) = mean(diff(locs));
% Change the sign back to be the correct one
pks = -pks;