Get proper time in seconds at x-axis from timestamps

2 次查看(过去 30 天)
Hey, I'm a new matlab user and hope you can help me with this problem.
I have numerous files. When I plot the data as I want it, I get the sample number on the x-axis (image 1). But instead I would like to get the time development in seconds. Starting with 0 seconds on the x-axis (first file) and then the course of time of these files.
I tried to extract the time from the file (example: (H:MI:S) = (16-39-44)) but it didnt work out.
When I plot it at the moment it looks like this (image 2) and gives me the sample number in x-axis.
Hope you can help. Thanks a lot in advance for recommendations!

采纳的回答

Cameron
Cameron 2023-3-2
编辑:Cameron 2023-3-2
%fileNames is the list of your files and t is a duration array in minutes
%without the milliseconds as you indicated earlier
fileNames = ["Baseline_Transmission__0__16-39-44-652.txt";
"Mineral Base_Transmission__0__16-40-21-553.txt";
"Mineral Licht_Transmission__0__16-40-42-818.txt";
"Mineral Licht_Transmission__10__16-41-06-585.txt"];
NumOnly = regexp(fileNames,'\d*','Match');
for r = 1:length(NumOnly)
n = str2double(NumOnly{r});
timeArray(r,1) = strjoin([n(2),":",n(3),":",n(4)],'');
end
dt = datevec(datetime(timeArray,'InputFormat',"HH:mm:ss"));
t = duration(dt(:,4:end));
To keep the milliseconds, you could use this (thanks to @Star Strider):
for r = 1:length(NumOnly)
n = str2double(NumOnly{r});
timeArray(r,1) = strjoin([n(2),":",n(3),":",n(4),'.',n(5),],'');
end
t = datetime(timeArray,'InputFormat',"HH:mm:ss.SSS",'Format','HH:mm:ss.SSS');
  2 个评论
Peter Perkins
Peter Perkins 2023-3-13
If you want to end up with durations from text, there is probably no need to create datetimes as an intermediate step:
duration("12:34:56")
ans = duration
12:34:56
duration("12:34:56.789",Format="hh:mm:ss.SSS")
ans = duration
12:34:56.789
In any case, don't use datevec+duration to get durations from a datetime, just use timeofday:
timeofday(datetime("now"))
ans = duration
21:39:59

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Data Import and Analysis 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by