How to integrate an acceleration/time curve?
4 views (last 30 days)
Show older comments
Hello, I have the following, x=time, y=acceleration.

I want to integrate it twice so I can get x=time, y=position. I've tried to use ccumtrapz and the trapezoidal method but It doens't seem to apply to my curve. Any help?
The curve was obtained with the data given by two rows from excell.
0 Comments
Answers (2)
Jan
on 26 Jun 2017
cumtrapz is the solution and it applies to all inputs. The problem is, that your data look noisy. It looks like 3 sine waves recorded with a low frequency. Intergrating amplifies the noise.
The value of the acceleration is changing rapidly compared to the sampling frequency. You can epect that the velocity and position look very rapid also. Please explain what "it doens't seem to apply to my curve" mean, because perhaps just a yout expectations are the problem.
2 Comments
Jan
on 26 Jun 2017
Edited: Jan
on 26 Jun 2017
The ploted diagram is exactly what is defined by the code. So please explain, why you consider it as "nonsense". What do you expect? The high fluctuation in the acceleration creates some stair effects. The average acceleration is below zero and the velocity is decreasing. The onlöy confusing detail is that the X axes have different lengths although both are "tempo1".
PS. Start code with two spaces or use the "{} Code" button.
Wembley
on 16 Oct 2017
Did this question get resolved? Surely the velocity graph should be "moving" up & down with the Acc graph.
1 Comment
Jan
on 17 Oct 2017
@Paul: No, it doesn't. Most of the acceleration is negative and you observe the expected reduction of the speed. The short positive parts can be identified as small stair in the output, but they are too short to increase the velocity.
cumtrapz is in fact the correct method and only the expectation of the user was incorrect.
See Also
Categories
Find more on Numerical Integration and Differential Equations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!