2D PEAK FINDER
10 views (last 30 days)
Show older comments
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 .
Accepted Answer
Geoff
on 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', '.-');
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!