How to analyze different segments in a timetable?.

2 views (last 30 days)
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.
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.

Accepted Answer

Star Strider
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
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

More Answers (0)


Find more on Tables in Help Center and File Exchange




Community Treasure Hunt

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

Start Hunting!

Translated by