Create elapsed time vector for loop

4 ビュー (過去 30 日間)
Evelyn Maniaki
Evelyn Maniaki 2021 年 3 月 17 日
コメント済み: Evelyn Maniaki 2021 年 3 月 19 日
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) 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 件)

カテゴリ

Help Center および File ExchangeMATLAB についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by