Turning a time-based X-axis into equal percentages

Much of the data I work with are forces over time. Unfortunately, time is never the same between two trials (see attached photos). I would like to take this time data and divide it into 10 equal blocks from start to finish (i.e., 0-10%, 10-20%, 20-30%,.......90-100%). This way I can compare what happens between trials. Any suggestions?
As a secondary question, I am interested in getting specific values out of these percentage blocks (i.e., max between 20-30%). Thoughts?
Thank you for all of your help.

2 Comments

If t is time, I assume now you're doing something like plot(t,x). You could replace that with plot(t/t(end)*100,x). Now the x-axis is in % of total time. To have bins (i.e., one value representative of an interval), you could average all the data in the specific interval. Is that what you want?
Thank you Sara. I was able to get my x-axis scaled from 0-100%, but I am having trouble putting these in sub-bins. I am trying to find a value (let's say mean) on another line between percentage bins (see picture).
Thank you so much

Sign in to comment.

 Accepted Answer

This was the code I was able to use to get the x-axis into a percentage. I had to do other filtering things first, because of the nature of my data.
Thanks Sara
zmax = max(Fzfilt); start=zmax/10; ind1 = find(Fzfilt >= start, 1, 'first'); ind2 = find(Fzfilt >= start, 1, 'last');
t1 = t(ind1); t2 = t(ind2);
tscale = (((t(ind1:ind2)-t1)/(t2-t1))*100)

More Answers (0)

Asked:

on 17 Feb 2015

Answered:

on 18 Feb 2015

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!