2D PEAK FINDER

10 Ansichten (letzte 30 Tage)
raj
raj am 22 Mär. 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 Kommentar
raj
raj am 22 Mär. 2012
hmmm just now got some clarity how can i plot only the peaks any idea??

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Geoff
Geoff am 22 Mär. 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 Kommentare
raj
raj am 22 Mär. 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 am 22 Mär. 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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by