How to calculate displacement from acceleration data?
26 次查看(过去 30 天)
显示 更早的评论
I have field vibration (acceleration) data that was collected at a sample frequency of 5k Hz. I would like to get instantaneous displacement for each acceration sample. I understand that in physics you would typically define your kinematic equation for acceleration, take the double integral, and input your time = t for when you are trying to calculate your instantaneous displacement.
Since I have messy field data that is a collection of various spectral energy, I can't fit a nice equation to my time history waveform. What is the best way to accomplish my above goal using MATLAB functions?
Please forgive me for forgetting much of my Algebra and Calculus knowledge...
2 个评论
采纳的回答
John D'Errico
2019-10-9
You already know how to use trapz. Just use it twice. However, you mention instantaneous displacement, and the problem with trapz is it gives you an integral over the entire range.
So if you look at the help for trapz, you will see at the bottom, the name cumtrapz.
Cumtrapz gives you the integral cumulatively up to that point. I think this is what you are looking to find. Again, just use cumtrapz twice. The first call gives you velocity. The second call is dosplacement.
In general, if you don't know how to do something in MATLAB, then use tools like help, doc, lookfor. Check the links at the bottom of the help, as they may point you to something good. For example, if you tried this:
lookfor integration
then it would have mentioned cumtrapz as a possible utility of interest.
0 个评论
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!