[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Avoiding a for cicle



Ricardo Fonseca wrote:
> 
> Hi
> 
> I'm looking for a more efficient way of implementing the following (i.e.
> avoiding the for cycle) which is a routine for finding local maximuns
> 
> ; Data is a 1D Array
> 
> s = Size(Data)
> 
> nx = s[1]
> 
> max_pos = [-1]
> 
> for i = 1, nx-1 do $
>    if ((Data[i] gt Data[i-1]) and (Data[i] gt Data[i+1])) then $
>        max_pos = [[max_pos],i]
> 
> ; and then throw away the first element...

max_pos = where(data gt median(data,3))

JD

-- 
 J.D. Smith                             |*|      WORK: (607) 255-5842    
 Cornell University Dept. of Astronomy  |*|            (607) 255-6263
 304 Space Sciences Bldg.               |*|       FAX: (607) 255-5875 
 Ithaca, NY 14853                       |*|