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

 채택된 답변

SHIVAM KUMAR
SHIVAM KUMAR 2021년 2월 2일

0 개 추천

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

There is a function named cumsum() for doing this:
result = cumsum(a);
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

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 2-D and 3-D Plots에 대해 자세히 알아보기

제품

태그

Community Treasure Hunt

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

Start Hunting!

Translated by