Hi everyone!
I'm new to this so any help would be greatly appreciated!
I would like to analyse some accelerometer data and I'd like to convert the timestamp to elapsed time, with the start of recording being 0. Then, I'd like to create a for loop to do this for the entire column (a few thousand rows), and write the result in a new column.
(Some additional context, if helpful: I have already converted the datetime from 'yyyy-MM-dd HH:mm:ss.SSS' to 'HH:mm:ss.SSS' since the experiments are short and don't take more than a few minutes each. The sampling frequency is 100Hz and so I have samples every 0.001-0.002 seconds. I will then need to find peaks within different elapsed periods).
Thank you in advance!
Evelyn

 채택된 답변

Seth Furman
Seth Furman 2021년 3월 18일
편집: Seth Furman 2021년 3월 18일

1 개 추천

1) You can convert timestamp data into elapsed time using datetime subtraction.
>> dt = datetime(2020,1,1:5)
dt =
1×5 datetime array
01-Jan-2020 02-Jan-2020 03-Jan-2020 04-Jan-2020 05-Jan-2020
>> dt - dt(1)
ans =
1×5 duration array
00:00:00 24:00:00 48:00:00 72:00:00 96:00:00
2) MATLAB supports vectorized operations so you can directly subtract a scalar or vector datetime from a vector datetime as in the example above.
3) See the following link for how to add new variables to a table.

댓글 수: 1

Evelyn Maniaki
Evelyn Maniaki 2021년 3월 19일
Thank you very much Seth, that was mega helpful! :)

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Dates and Time에 대해 자세히 알아보기

질문:

2021년 3월 17일

댓글:

2021년 3월 19일

Community Treasure Hunt

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

Start Hunting!

Translated by