values per hour from accumulative data
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have xlsx files with the timestamp and the total accumulative energy for each timestamp. I want to obtain the energy consumed per hour (kWh) using that information.
I know how to do it following this procedure:
- read xlsx file as a table
- process the first column (timestamps) to put it in DateTime format
- Put the date as a vector with (year / month / day / hour / min / sec)
- Then using if conditions and for loops, obtain the first and last data for each hour and calculate the difference.
clear all
close all
clc
filename = ['Etot 05-06.xlsx';];
data = readtable(filename)
data.timestamp = (data.timestamp+7200)/3600/24 + datenum('01-Jan-1970 00:00:00');
data.timestamp = datetime(data.timestamp, 'ConvertFrom', 'datenum');
dv = datevec(data.timestamp);
data.Year = dv(:,1);
data.Month = dv(:,2);
data.Day = dv(:,3);
data.Hour = dv(:,4);
% and then process the data using if conditions and for loops
I am wondering if there is a more effective (or advanced) way to do it, to avoid the recursive use of for loops. Moreover, the data I provided is a small fraction of the total information I have to process. Does anyone have any idea about how to do it?
Réponses (1)
Mil Shastri
le 31 Oct 2019
Modifié(e) : Mil Shastri
le 31 Oct 2019
I would recommend using the import tool and the automatic code generation (yes, MATLAB will write code that you can reuse). See https://www.mathworks.com/help/matlab/import_export/select-spreadsheet-data-interactively.html
Here's how you can modify the datetime format: https://www.mathworks.com/help/matlab/import_export/import-formatted-dates-and-times.html?searchHighlight=format%20datetime%20using%20import%20tool&s_tid=doc_srchtitle
0 commentaires
Voir également
Catégories
En savoir plus sur Licensing on Cloud Platforms dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!