Azzera filtri
Azzera filtri

2D PEAK FINDER

11 visualizzazioni (ultimi 30 giorni)
raj
raj il 22 Mar 2012
Hello , I have a very large matrix of 900x500 which i gained from applying a spectrogram. what i want is to find the local maxima for every row and plot those values.A threshold value is initialized for reference as peaks above this values are plotted. Actually what i did earlier was using the max(A(the matrix)- threshold,0) but the result obtained by this and by adjusting the colorbar of my spectrogram gives me the same result . I want to know is my idea of peakfinding correct? or can u suggest me the correct method of finding the peaks above a threshold .
  1 Commento
raj
raj il 22 Mar 2012
hmmm just now got some clarity how can i plot only the peaks any idea??

Accedi per commentare.

Risposta accettata

Geoff
Geoff il 22 Mar 2012
Howdy, if you only want to plot the peaks (with their original values)
B = A;
B(B <= threshold) = NaN;
plot(B'); % Transposed to treat rows of B as individual series
By setting any non-required value to NaN, you make the line non-continuous. If you have only a single value above the threshold at one time, it will be difficult to see unless you use markers on your plot:
plot(B', '.-');
  2 Commenti
raj
raj il 22 Mar 2012
How can I plot the peaks using markers on a 2D plot??? It is almost like a surf plot or imagesc plot but only with marking of the different peak values
raj
raj il 22 Mar 2012
if i plot using an imagesc command I almost get the results as a spectrogram which represents the same results of a spectrogram with change in color bar scale . Is it the right way of representing the peak finder results

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by