How to analyze different segments in a timetable?.
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Frank Pernett
am 6 Okt. 2021
Kommentiert: Star Strider
am 7 Okt. 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 Kommentare
Akzeptierte Antwort
Star Strider
am 6 Okt. 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 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Time Series Events finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!