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

raj
raj 2012년 3월 22일
hmmm just now got some clarity how can i plot only the peaks any idea??

댓글을 달려면 로그인하십시오.

 채택된 답변

Geoff
Geoff 2012년 3월 22일

0 개 추천

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

raj
raj 2012년 3월 22일
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 2012년 3월 22일
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

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

질문:

raj
2012년 3월 22일

Community Treasure Hunt

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

Start Hunting!

Translated by