float[] result = new float[dynamicsInputs.length];
for (int i = 0; i < myDynamics.length; i++) {
float[] inVal = new float[]{dynamicsInputs[i]};
if(myTau <= endTime-startTime) {
TimeSeries inSeries = new TimeSeriesImpl(new float[]{startTime, endTime}, new float[][]{inVal, inVal}, myNullUnits);
TimeSeries outSeries = myIntegrator.integrate(myDynamics[i], inSeries);
result[i] = outSeries.getValues()[outSeries.getValues().length-1][0];
}
else {
//save the overhead on the integration, and just do it all in one step