39 lines
1.0 KiB
Matlab
39 lines
1.0 KiB
Matlab
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 |