How to change time intervals to time elapsed

4 views (last 30 days)
I have time data in a column vector which was measured in intervals of time meaning I can't plot this against distance to get a velocity graph.
How do I create a new column vector with the total time elapsed up to each point? (e.g. 1,2,1,1,3 to 1,3,4,5,8)
Thanks

Accepted Answer

SHIVAM KUMAR
SHIVAM KUMAR on 2 Feb 2021
You can do this simply using a loop
a=[1 2 1 1 3]
sum=0;
result=zeros(1,length(a));
for i=1:length(a)
sum=sum+a(i);
result(i)=sum;
end
It this is fine accept the answer.
  3 Comments
Steven Lord
Steven Lord on 2 Feb 2021
The cumsum function also works with a duration array, if you want to make it clear that your time data does represent time.
m = minutes(randi([0 9], 1, 7)) + seconds(randi([0 59], 1, 7));
m.Format = 'mm:ss'
m = 1×7 duration array
00:28 01:32 09:51 03:38 00:03 04:53 03:17
n = cumsum(m)
n = 1×7 duration array
00:28 02:00 11:51 15:29 15:32 20:25 23:42

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!