close all clear all % user input: input_path = "data\TriggerF.mat"; output_path = "data\TriggerF_cut.mat"; startTime = [10, 15, 00]; stopTime = [17, 34, 00]; % load data data_in = load(input_path); % get time time = days(data_in.ABX_Driver_ABX_Speed(:,1)) + datetime(0,1,0); % plot speed for visualization plot(time,data_in.ABX_Driver_ABX_Speed(:,2)) grid on % set start/stop timestamps date = dateshift(time(1),'start','day'); date_d = datenum(date)+1; startTime_d = date_d + convertHMStoDays(startTime); stopTime_d = date_d + convertHMStoDays(stopTime); fn = fieldnames(data_in); for i=1:numel(fn) clear var_out var = data_in.(fn{i}); index1 = find(var(:,1)>startTime_d,1); index2 = find(var(:,1)>stopTime_d,1); var_out(:,1) = var(index1:index2,1); var_out(:,2) = var(index1:index2,2); data_out.(fn{i}) = var_out; end save(output_path,"-struct","data_out") %% Functions function time_d = convertHMStoDays(hmsArray) time_d = hmsArray(1)/24 + hmsArray(2)/(24*60) + hmsArray(3)/(24*60*60); end