I have a device that I made which is able to calculate distance moved and can determine time.

I take samples of time every x distance. Giving me n velocity samples.

I currently show the user 2 values : max velocity and avg velocity.

What I need help with can be broken down into 2 questions:

  1. How can I calculate acceleration from this data?
  2. What would be the most useful value to show? Avg acceleration? Peak?

So you have context to answer this question, the device measures the speed at which athletes are lifting a barbell.

  • $\begingroup$ You have position vs time. Assuming a continuous differentiable function how would you find acceleration? I can think of several, each with their pluses and minuses depending on what your application is. $\endgroup$
    – Jon Custer
    Apr 27, 2016 at 17:28

2 Answers 2


A fairly simple way of treating the data is to present them as a histogram:

Speed histogram.

Each data point (here 5 data points) is the quotient of the distance moved in that interval, say $\Delta y$, by the time interval $\Delta t$ and is the average velocity during that time interval: $$v_i=\frac{\Delta y_i}{\Delta t_i}$$

Where $i$ indicates interval number $i$.

For simplicity's sake, I'll assume all $\Delta t_i$ to be of the same value (but that's not strictly speaking necessary).

That would allow also to calculate the average acceleration $a$ at the end of each time interval, here represented by the green line, because:

$$a_i=\frac{v_i-v_{i-1}}{\Delta t_i}$$

That would give a rough idea of how $a$ evolves over time, as well as peak $a$ values.

If the time intervalls $\Delta t_i$ are sufficiently small, then the obtained values for $v$ and $a$ will tend to the true values (as opposed to averages).

  • $\begingroup$ Your equation for a sub i will only work if time intervals are equivalent, right? $\endgroup$ Apr 27, 2016 at 18:31
  • 1
    $\begingroup$ @JamesWierzba: yes but you can easily adjust the method if that's not the case. In that case divide the difference in velocities by the difference in time between the midpoint of the later interval and the midpoint of the previous interval. That would be $\frac12\Delta t_i-\frac12 \Delta t_{i-1}$. $\endgroup$
    – Gert
    Apr 27, 2016 at 18:44
  • $\begingroup$ How would we deteremine a peak acceleration? Wouldn't knowing the peak require more than the acceleration from each point to the next? We would need to find the maximum cumulative acceleration between any quantity of points, no? $\endgroup$ Apr 29, 2016 at 15:55
  • 1
    $\begingroup$ @JamesWierzba: No, no. For one, there is no such thing, physically speaking, as the maximum cumulative acceleration, it has no physical meaning: acceleration simply varies from one moment to the next. The formula in my post allows to calculate an average acceleration over each two successive intervals $\Delta t_i$. The peak acceleration would approx. be the highest $a_i$ encountered in your data set. $\endgroup$
    – Gert
    Apr 29, 2016 at 16:47
  • $\begingroup$ I've implemented your algorithm in my electronic device. I'm not sure if the values I'm getting are correct. Here is a sample: v1 = .68 m/s, v2 = 0.8 m/s, dt = 0.2s , calculated acceleration is acc = 7.60 m/s^2, do these values seems right to you? Acceleration seems high $\endgroup$ Apr 30, 2016 at 17:21

I think you should take the sample velocities and divide them by the respective times after minusing the previous velocities to obtain the accelerations. If the time interval between calculating the discrete sample velocities are too small, then the above-got values may be taken as instantaneous acceleration. Now plot these over graph wrt time. Now here we can obtain the maxima and minima.
Now if we sum up all the velocities and divide this with the sum of the times, we get the average acceleration. In this case, either the maximum acceleration or the instantaneous acceleration should be taken into account if the time-gaps are small enough.

  • $\begingroup$ I'm not following when you say "take sample velocities and divide them by respective times after minusing previous velocities" could you give me an example for deriving some single acceleration for velocity sample at time i? $\endgroup$ Apr 27, 2016 at 19:59
  • $\begingroup$ For nth time first take the velocity of nth time and then subtract it from the velocity of (n-1)th time. Now devide it by the nth time and here you get the acceleration of nth time. $\endgroup$ May 5, 2016 at 20:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.