How to calculate the median of each 7 numbers out of a list of 1800

    Dec 01 2010 | 10:27 pm
    I have a sensor that updates every 2 seconds. That means I have 30 reads/minute, and 1800 reads/hour. For viewing the reads I wanted to use a multislider which is limited to 256 bars, but anyways, 1800 bars would've been too much!
    So I figure that 1800 reads / 256 bars = ~7 reads per bar (7.03125 to be more exact)
    I wanted to calculate the median of each series of 7 reads but that would be 256 calculations and with something like [zl slice] and [zl median] I realize it would be too much!
    Does anybody know of a simpler solution? Thank you
    PS: I also thought about reducing the original number of reads but that would beat the purpose as I really want to take into consideration each and every one of the reads.

    • Dec 01 2010 | 11:41 pm
      Why not something like:
      [zl iter 7] -> [zl median] -> [zl group 256]
      I assume you mean in your post that you are concerned that your solution would be too much patching, rather than too much to calculate, as I don't think that will be a particularly big issue.
      The above assumes that you only calculate once every hour from the full list of 1800 values. However, you could modify it to give you a running output.
    • Dec 02 2010 | 1:26 am
      as they come in: zl group 7, zl median, output the answer to your multislider with the set $1 $2 message (with a counter to track the indices of course).
      If you do them all at once, the zl iter 7-->zl median would be the best bet I think.