ca.nengo.math.impl
Class TimeSeriesFunction

java.lang.Object
  extended by ca.nengo.math.impl.AbstractFunction
      extended by ca.nengo.math.impl.TimeSeriesFunction
All Implemented Interfaces:
Function, java.io.Serializable, java.lang.Cloneable

public class TimeSeriesFunction
extends AbstractFunction

A Function based on interpolation of a TimeSeries.

A TimeSeriesFunction can be used to apply the results of a simulation as input to other simulations.

TODO: unit tests TODO: this could be made more efficient for n-D series by wrapping them in 1D, so interpolation is only done as needed

Author:
Bryan Tripp
See Also:
Serialized Form

Field Summary
 
Fields inherited from class ca.nengo.math.impl.AbstractFunction
DIMENSION_PROPERTY
 
Constructor Summary
TimeSeriesFunction(TimeSeries series, int dimension)
           
 
Method Summary
 int getSeriesDimension()
           
 TimeSeries getTimeSeries()
           
static void main(java.lang.String[] args)
           
static TimeSeries1D makeSeries(Function function, float start, float increment, float end, Units units)
           
 float map(float[] from)
           
 void setSeriesDimension(int dim)
           
 void setTimeSeries(TimeSeries series)
           
 
Methods inherited from class ca.nengo.math.impl.AbstractFunction
clone, getDimension, multiMap
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TimeSeriesFunction

public TimeSeriesFunction(TimeSeries series,
                          int dimension)
Parameters:
series - TimeSeries from which to obtain Function of time
dimension - Dimension of series on which to base Function output
Method Detail

getTimeSeries

public TimeSeries getTimeSeries()
Returns:
TimeSeries from which to obtain Function of time

setTimeSeries

public void setTimeSeries(TimeSeries series)
Parameters:
series - TimeSeries from which to obtain Function of time

getSeriesDimension

public int getSeriesDimension()
Returns:
Dimension of series on which to base Function output

setSeriesDimension

public void setSeriesDimension(int dim)
Parameters:
dim - Dimension of series on which to base Function output

map

public float map(float[] from)
Specified by:
map in interface Function
Specified by:
map in class AbstractFunction
Parameters:
from - Must have same length as getDimension()
Returns:
result of function operation on arg
See Also:
AbstractFunction.map(float[])

makeSeries

public static TimeSeries1D makeSeries(Function function,
                                      float start,
                                      float increment,
                                      float end,
                                      Units units)
Parameters:
function - A 1-dimensional Function
start - Start time
increment - Time step
end - End time
units - Units of Function output
Returns:
A TimeSeries consisting of values output by the given function over the given time range

main

public static void main(java.lang.String[] args)