2016-08-08 4 views
2

Я использовал функцию findpeaks в MATLAB, чтобы найти местоположения и значения пиков (Local Maxima) в сигнале.Поиск локальных минимумов сигнала

[pks, locs] = findpeaks(X_Segments{nn},'MinPeakDistance', 20); 
AverageDistance_Peaks(nn,:) = mean(diff(locs)); 

X_Segments содержит данные.

Есть ли функция для извлечения локальных минимумов следующего графика?

Graph shows the Local Maxima График показывает локальный Maxima

ответ

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; 
+0

спасибо большое –

+1

я помощник, опять же, спасибо большое, мне интересно, я должен изменить знак ПКС в -pks? –

Смежные вопросы