Peak detection without using findpeaks()
古いコメントを表示
Following is the code to find peaks.What input should be given to run the function along with threshold.I tried giving both file and the col as inputs,but fail to detect peaks.I gave 0.75 as the threshold.Attached is the data I am working with. There is something else going on with logic,please help!
file = 'forRef_2.xls';
col = xlsread(file,'J:J');
function [peaks, locations] = peakdet (mag, threshold)
len = length(mag);
prev = 1;
cur = 2;
next = 3;
k = 1; %number of peaks
while next < len
if mag(cur) - mag(prev) > threshold
if mag(cur) > mag(next)
peaks(k) = mag(cur);
fprintf('peak at %d has magnitude %d\n', cur,mag(cur));
k = k + 1;
end
end
prev = cur;
cur = next;
next = next + 1;
end
end
7 件のコメント
I've formatted the code. Please read https://www.mathworks.com/matlabcentral/answers/13205-tutorial-how-to-format-your-question-with-markup#answer_18099 to do this by your own in the future.
What is your question?
preeti visweswaran
2017 年 4 月 18 日
preeti visweswaran
2017 年 4 月 19 日
KSSV
2017 年 4 月 19 日
There are seven columns in the file...you want to find the peaks for each column? And what is threshold?
preeti visweswaran
2017 年 4 月 19 日
KSSV
2017 年 4 月 19 日
So you want to find the maximum value which is less then the threshold from the column?
preeti visweswaran
2017 年 4 月 19 日
回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Descriptive Statistics についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!