|
From: | William Krekeler |
Subject: | RE: How to find the 3 highest peaks in an array? tia sal22 |
Date: | Thu, 3 Mar 2011 14:58:47 +0000 |
Rick, You could use sortrows on a matrix of the indexes and their
corresponding peak values, then find the peak values > 5 and take the first
three, or less than three if there are no matching peaks. You might also look at
peakdetect, see http://www.billauer.co.il/peakdet.html Bill Krekeler From:
address@hidden [mailto:address@hidden On
Behalf Of Rick T How to find the 3 highest peaks in an array tia sal22 Greetings All I have some example code that will find the min and max peaks of an array. How would I go about adjusting the code to find the 3 highest peaks over the value 5? example code: a = [1 2 2 3 2 1 1 5 1 17 17 17 15 20 1 4 5 2 5 7 4 7]; p = 1:length(a); b = diff([inf a])~=0; aa = a(b); pp = p(b); maxima = pp(find(aa>[aa(2:end) inf] & aa>[inf
aa(1:end-1)])) a_valmax=a(maxima(:,:)) minima = pp(find(aa<[aa(2:end) -inf] & aa<[-inf
aa(1:end-1)])) a_valmin=a(minima(:,:))
|
[Prev in Thread] | Current Thread | [Next in Thread] |