|
Boost : |
From: Eric Niebler (eric_at_[hidden])
Date: 2006-12-12 12:59:19
Hi, Janek.
Janek Kozicki wrote:
> Eric Niebler said: (by the date of Mon, 11 Dec 2006 15:51:20 -0800)
>
>> The purpose of the Boost.Time_series library is to provide data
>> structures, numerical operators and algorithms to operate on time
>> series. A time series is a series of data points, sampled at regular
>> intervals.
>
> I rather won't be able to look at this now, but I recently was
> working with data obtained from experiments, and I faced a particular
> problem. I'm curious if your library solves it.
>
> I had two distincs gauges which produced data over time. One gauge
> had a sample rate once every 15 seconds, and another had a smaple
> rate once every 2 seconds. Like this:
>
> A) F - force value every 15 seconds
> B) d - displacement value every 2 seconds.
>
> So I had (F,t) and (d,t), where 't' is time.
> I wanted to make a plot (F,d).
>
> I had to write a simple linear interpolation between two points. Then
> I was able to resample the data to have a value once every 1 second.
> Then I was able to plot (F,d).
>
> Can I use your library to do this? ie. store data in a container
> using a time interval t1, then read the data using another time
> interval t2, and the values will be automatically interpolated when
> reading.
This is on the ToDo list. There are coarse_grain() and fine_grain()
algorithms for converting series from one discretization to another, but
they are quite limited at the moment. (One discretization must be an
integral multiple of the other, no interpolation is done.)
What we need is an interpolating adapter. It would wrap a TimeSeries of
one discretization and make it look like it has a different
discretization, interpolating on the fly. Probably wouldn't be too hard.
-- Eric Niebler Boost Consulting www.boost-consulting.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk