2D PEAK FINDER

11 vues (au cours des 30 derniers jours)
raj
raj le 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 commentaire
raj
raj le 22 Mar 2012
hmmm just now got some clarity how can i plot only the peaks any idea??

Connectez-vous pour commenter.

Réponse acceptée

Geoff
Geoff le 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 commentaires
raj
raj le 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 le 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

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by