How to do basic time arithmetic when NaNs are involved
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Hi,
I have the following table and I simply want to calculate the elapsed time between start and end points. My main problem is that I dont know how to handle the NaNs. The desired output is elapsed_time (in hours).
start_date = {NaN, '2019-05-21 00:00:00', '2019-05-22 00:00:00', '2019-05-23 00:00:00'}'
start_time = {'13:00', NaN, '01:00', '04:00'}'
end_date = {'2019-05-20 00:00:00', '2019-05-21 00:00:00', NaN, '2019-05-23 00:00:00'}'
end_time = {'14:00', '03:00', NaN, '05:00'}'
T = table(start_date, start_time, end_date, end_time)
% Desired output
T.elapsed_time = {NaT, NaT, NaT, '01:00'}'
Thank you,
0 Commenti
Risposte (1)
Steven Lord
il 24 Mag 2020
Replace the NaN numeric values in your date cell arrays with 'NaT' and the NaN numeric values in your time cell arrays with 'NaN'. When I did this in release R2020a I was able to convert the dates to datetime arrays and the times to duration arrays by calling datetime and duration (with a value for the InputFormat option) respectively. Then just add and subtract them using + and -.
Vedere anche
Categorie
Scopri di più su Tables in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!