values per hour from accumulative data
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
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?
Antworten (1)
Mil Shastri
am 31 Okt. 2019
Bearbeitet: Mil Shastri
am 31 Okt. 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 Kommentare
Siehe auch
Kategorien
Mehr zu Downloads finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!