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

Re: More fun



How about:

nv = n_elements(v)/interv
result = 0.5 * rebin(v+shift(v, -interv+1), nv, /sample)

cheers,
  Jaco


"Martin Schultz" <martin.schultz@dkrz.de> wrote in message
3A1969E0.175876A8@dkrz.de">news:3A1969E0.175876A8@dkrz.de...
> "J.D. Smith" wrote:
> >
> > Here's one I just came up against.  Suppose you want to rebin a vector
> > to some smaller size, an integer factor smaller.  E.g. 100 elements to
> > 20 elements.  Now, rather than the average of those elements in each
> > interval, etc., you want merely the average of the first and last member
> > of that interval.  E.g., you want:
> >
> > [(v[0]+v[4])/2, (v[5]+v[9])/2, (v[10]+v[14])/2, ...]
> >
> > Rebin by itself can't work, I don't think.
> >
> > Takers?
> >
> > JD
> >
> > P.S. No for loops please.  Bonus points if you don't build an explicit
> > index list.
> >
> > --
> >  J.D. Smith                  |   WORK: (607) 255-6263
> >  Cornell Dept. of Astronomy  |         (607) 255-5842
> >  304 Space Sciences Bldg.    |    FAX: (607) 255-5875
> >  Ithaca, NY 14853            |
>
>
> Missing the bonus, I would suggest
> nv=N_Elements(v)/5
> res=0.5*( v[lindgen(nv)*5] + v[lindgen(nv)*5+4] )
>
> But I am sure there is a way to do this with histogram ;-)
>
> Cheers,
> Martin
>
> --
> [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
> [[ Dr. Martin Schultz   Max-Planck-Institut fuer Meteorologie    [[
> [[                      Bundesstr. 55, 20146 Hamburg             [[
> [[                      phone: +49 40 41173-308                  [[
> [[                      fax:   +49 40 41173-298                  [[
> [[ martin.schultz@dkrz.de                                        [[
> [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[