How to analyze different segments in a timetable?.
1 view (last 30 days)
Show older comments
Frank Pernett
on 6 Oct 2021
Commented: Star Strider
on 7 Oct 2021
Hi I have a timetable with different physiologic measurements (example attached).
The first column is duration in seconds, and the last column is a time marker that means: 0 is off and 5 is on. When time marker is on, means that the recordings corresponds to the experiment. The other columns are physiological variables as the figure shows.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/759961/image.jpeg)
As the Time Mark shows we had 10 experiments. I would like to have advice on the best way to extract the duration of every experiment.
Thanks
2 Comments
Accepted Answer
Star Strider
on 6 Oct 2021
Try this —
LD = load('timetable.mat');
AB001 = LD.AB001;
ExptMarker = AB001.fTimeMark; % Marker Vector
Lv = ExptMarker>0; % Logical Vector
ExptStart = strfind(Lv', [0 1])+1; % Start Indices
ExptStop = strfind(Lv', [1 0]); % Stop Indices
ExptIdxMtx = [ExptStart; ExptStop]'; % Index Matrix
ExptTimes = AB001.time(ExptIdxMtx); % Time Matrix
ExptDuration = ExptTimes(:,2) - ExptTimes(:,1) % Duration Vector
producing:
ExptDuration =
10×1 duration array
53 sec
70 sec
69 sec
77 sec
77 sec
91 sec
101 sec
107 sec
110 sec
121 sec
.
0 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!